• Keine Ergebnisse gefunden

ALPHA+BETA*GAMMA+1,DELTA

Im Dokument SHARE System for the IBM 709 (Seite 80-84)

FAD XCA

X, ALPHA+BETA*GAMMA+1,DELTA

Variable Field

X$ALPHA+X$BETA*X$GAMMA+1 DELTA

Note that a heading character applied to a non-simple expression (e. g. , ALPHA+BETA*GAMMA+1) affects all the symbols used in the expression.

A location symbol should not be used in a HEAD instruction. If a location symbol is used in a HEAD instruction, it is ignored and an error is indicated on the output listing.

ETC (Et Cetera)

With three exceptions, all instructions in SOS must be limited to a single instruction card, i. e., 72 columns. The purpose of ETC is to provide for extending this

72-character limit in the following three cases:

03.00.44 5 (6/61)

1. a VFD instruction

2. a MACRO instruction (used to define a programmer macro) 3. a system or programmer (defined) macro-instruction.

Suppose that the variable field of an instruction whose operation is VFD, MACRO, or any system or programmer macro-operation, is too long to fit on a single card. Then the variable field of this instruction can be broken off after some subfield, say the nth subfield, and continued in the variable field of a second card, beginning with the n+1th subfield of the instruction, by writing ETC in the operation field of the second card. The comma which ordinarily separates the nth from the n+ 1th subfield must appear as the last character in the variable field of the first card, not the first character in the variable field of the second card.

The omission, on the first card, of the separating comma between the two subfields will cause an error to be indicated on the output listing, but the comma is assumed to be present.

The location field in an ETC card should be left blank. If a location symbol is used in an ETC card, this symbol will be ignored and an error will be indicated on the output listing.

If one ETC card is' still not sufficient to specify the variable field of the instruction, additional ETC cards can be used, without limit.

As an illustration, consider:

Location Operation VFD ETC ETC

Variable Field

18/1, HIS/ABC, 18/2, H18/DEF, 18/3, H18/GHI

Note that this is an. example of a single pseudo-instruction (which generates three words in the object program) although it requires three cards.

SQZ (SQUOZE)

SQUOZE decks produced by 80S can be combined with symbolic coding during compilation. The place at which a SQUOZE deck is to be included is indicated by an SQZ instruction. If the symbolic input component and SQZ input component are the same, the SQZ deck is inserted in the symbolic deck following the SQZ card. If they are different, the SQZ deck must be immediately available at the input component when the SQZ card is encountered.

03.00.45 5 (6/61)

The location symbol of an SQZ card has the value it would receive if the SQZ card were an instruction. An SQZ deck loaded on-line is assumed to be column binary unless the variable field contains the symbol RB, in which case it is treated as a row binary deck.

The deck cannot contain symbolic modification cards, cannot be preceded or followed by blank cards and must be in the form produced by the system.

In the 32K IB Monitor system the programmer macros in the deck (see page 03. 00. 27) are combined and may be used thereafter. In the 8K IB system programmer

macros are' not combined. All symbols in the SQ Z deck retain their original heading. No heading characters introduced within the SQUOZE deck affect symbols used after the point where it is inserted. If both texts are in the SQUOZE deck, commentary text is combined (if present) and non-commentary text is ignored. If only non-commentary text is present, it is combined.

Cards are checked for checksum agreement, sequence number, and presence of the SQZ punch (minus sign for control word).

Note: A symbolic deck may consist solely of SQZ cards with SQZ decks and an END card.

Additional details are given in Chapter 3, Section 08.

END (End)

This pseudo-operation has two distinct applications:

1. END is used to indicate the end o~ a skeleton for a programmer macro.

This application has already been mentioned under MACRO. In this case, the operation END should appear by itself, with a blank location field and blank variable field.

2. END must also be used at the physical end of every source program, to indicate the end of the source program. Here, the variable field is pertinent and should consist of a single subfield. This subfield should contain the address which constitutes the starting-point of the program. This address, as usual, may be any legal arithmetic expression, but will ordinarily be an integer or the symbol used to name the fir st executed instruction of his source program, e. g., START.

Suppose that the Compiler encounters the pseudo-instruction:

03.00.46

5 (6/61)

Location Operation Variable Field

END ALPHA

This instruction will produce two effects:

1. The Compiler assumes that there are no more instructions to be processed.

2. The symbol ALPHA, which presumably apPears with its assigned value in the dictionary, is saved in a special way. Later, when the MOdify and Load program has finished loading the object program, the information is used to transfer control to the core storage location corresponding to ALPHA to begin execution of the object program.

In case the programmer has requested his object program in absolute binary form, the result of END ALPHA will be a transfer card containing the absolute address corresponding to ALPHA.

Although an END instruction generates no words in the object program, a location symbol used in an END instruction is processed in the usual way, i. e., entered into the dictionary with the current value in the location counter. This value will be, of course, one greater than the value corresponding to the final word generated by the source program.

TCD (Transfer Card)

This pseudo-operation will have the same effect as the second application of the pseudo-operation END described above, except that it will not cause the Compiler to assume that the source program is at an end. That is, the pseudo-instruction:

Location Operation Variable Field

TCD ALPHA

causes ALPHA to be saved as control information for later use by the Modify and Load program, as in the case of END ALPHA. After processing the TCD instruction, processing continues with the next instruction.

The rules governing the location field and the variable field of a TCD instruction are the same as for an END instruction.

In case the programmer requests his object program in absolute binary form, the result of TCD ALPHA will be simply an ordinary transfer card containing the absolute address corresponding to ALPHA. This is the reason for the code

"TeD". This pseudo-operation is provided, for example, to allow programs which are too large to fit in core storage to be loaded in pieces, each piece being terminated by a transfer card.

03.00.47 5 (6/61)

LISTER

Im Dokument SHARE System for the IBM 709 (Seite 80-84)