• Keine Ergebnisse gefunden

MACHINE ORIENTED LANGUAGE 4:170.512

Im Dokument WHAT IT IS--HOW TO USE IT (Seite 176-179)

CENTRAL PROCESSOR

MACHINE ORIENTED LANGUAGE 4:170.512

§ 170 .

. 512 Absolute codes

These are codes usually given in a form which is a numeric or alphabetic direct repre-sentation of the code used in the computer instruction. They are less easy to memorize than mnemonics .

. 52 Macro Codes

These are operation codes which introduce operations into the language which do not exist on a one-for-one basis in the computer code. They are usually provided by call-ing an open or closed subroutine into the program or formcall-ing jumps into the supervisor routine from the program .

. 521 Number available

The number of macro codes is given for each of the various classes of operations that are provided, such as mathematical functions or input-output control. They are listed in detail in paragraph 8 .

. 522 Examples

Two examples are given, one simple and one elaborate. A simple example is normally indistinguishable in form from a direct operation, except perhaps for some conven-tional designator. On the other hand, an elaborate mcaro code may require the speci-fication of several parameters to control the routine which provides the operation . . 523 New macros

If it is possible for the programmer to insert new macros of his own coding into the program or the system, the method of doing so is given .

. 53 Interludes

These are sequences of statements that are indistinguishable from the remainder of the program except for some delimiters or designators, but which are executed at the translation time and do not appear in the object program .

. 531 Possible roles

Interludes are frequently used with load and go translators for such purposes as modify-ing the translator itself in some way, or developmodify-ing insertmodify-ing constants which cannot be expressed directly in the language, or because they are parameters which are not set until loading time .

• 532 Example

This illustrates how the interlude is distinguished from conventional coding . . 54 Translator Control

Although machine oriented language programs are usually written in relatively addressed code and use labels liberally to avoid having to make the allocation of absolute addresses, there are many occasions when it is necessary and desirable to be able to control the

" allocation of absolute addresses. In general, it is assumed that allocation is made by the translator to serially numbered locations. The control of the translator allocation is normally provided by means of pseudo codes. These are codes which are of the same form as and sometimes are indistinguishable from the direct or macro codes ex-cept for their actual values but in fact have no corresponding computer code or rou)jne.

Instead, they indicate to the translator that some form of translator control is required.

The main types of control concern the allocation counter, label adjustment and annota-tion of the program.

© 1962 by Auerbach Corporation and BNA Incorporated 4/62

4:170.541 USERS' GUIDE

4/62

§ 170 .

. 541 Method of control

For each of the different types of control, the method of indicating the control to the translator in the program is specified. This is usually by pseudo codes or reserved labels .

. 542 Allocation counter

Except in cases where the object program is produced in a relocatable form, it is usual-ly necessary to initialize the allocation counter. At other times, the counter may need to be reset to a value that it had used earlier and which had been marked by some label.

It is also convenient to be able to step the counter forward or backward in order to ar-range that areas of store are left for tables, working areas and input-output areas and to reserve certain areas for use by special routines •

. 543 Label adjustment

Most labels have values assigned to them by the translator equal to the current value of the allocation counter at the time they are encountered and these values are held in a label table. In order to arrange the storage in a convenient way, it is often necessary to be able to make certain labels equal in value, to set labels at specific absolute values and to clear the label table when local labels are being used and a new region is begun . . 544 Annotation

Many programs include information which is not necessary for the translator but is used to help people reading the program to understand it. They consist of comments in-serted into the program and titles both of which are recognized by the translator and printed out with the listings of the program .

. 6 SPECIAL ROUTINES AVAILABLE

Although not an integral part of the language, most programs written in machine oriented languages can take advantage of special routines written for the purpose of being used with the language. They are not always automatically combined into programs by a specific library feature. Where such routines are available, a brief description of the facilities and method of call is given .

. 61 Special Arithmetic

This covers such features as multiplication, divis ion, double -length operation and floating point on those computers where they are not provided in the hardware. They are usually sufficiently integrated into the language to become macros.

.62 Special Functions

These include sophisticated mathematical functions such as LOG, SIN and any business or commercial features such as an FICA routine .

. 63 Overlay Control

These are routines provided to manipulate program and data between various levels of storage by the use of overlay techniques .

. 64 Data Editing

These are routines prOVided to assist in the compilation of sophisticated printing lay-outs, code translation and radix conversion of data.

,/

MACHINE ORIENTED LANGUAGE 4:170.650

§ 170 .

. 65 Input-Output Control

These are routines provided to handle the label and control procedures for files and reels, the error control procedures of input-output operations, and the blocking and un-blocking of records .

. 66 Sorting

These are routines which are embedded in a program to perform sorting of small vol-umes of data that are normally handled within internal storage .

. 67 Diagnostics

These are facilities, routines, or parameters that may be embedded in or carried along with a program to assist in easy debugging of programs. It is important to note how these facilities can be removed or inhibited when no longer required. There are three basic types -- dumps, tracers and snapshots .

. 7 liBRARY FACIUTIES

A program library is a collection of open and closed subroutines, even complete pro-grams and sometimes data descriptions which are available for use with propro-grams written in the language. The important features are the ability to make insertions into the library, the entities it contains, the form of the library and the method of call of items from the library .

. 71 Identity

The name, nicknames and abbreviations by which the library is known are stated here .

• 72 Kind of Library

A library mayor may not accept insertions by programmers in general. It may be a general library for use by any programmer or a private library for individual program-mers or groups of programprogram-mers .

. 73 Form of Storage

The most convenient form is magnetic tape or auxiliary internal storage such as a disc store. A less convenient form is punch cards or paper tape. Sometimes the library exists only in a written form and has to be transcribed by the programmer or a data preparation system to suitable form for use with individual programs .

. 74 Variety of Contents

The most usual library contents are open and closed subroutines for incorporation in programs. Other possible contents are complete programs for use in operating sys-tems, diagnostic routines, supervisor systems and interpreters. Libraries can also contain data information such as file and record layouts, conversion tables and special format tables for input -output control .

. 75 Mechanism

This describes the general running and use of the library . . 751 Insertion of any item

If this is done during a computer run, it is sometimes possible to do it as part of pro-gram translation and sometimes restricted to special library runs.

© 1962 by Auerbach Corporation and BNA Incorporated 4/62

Im Dokument WHAT IT IS--HOW TO USE IT (Seite 176-179)