• Aucun résultat trouvé

UNIVAC III UTMDST UP-353

Dans le document MANUAL ENE (Page 164-171)

UP-3853 UNIVAC III UTMOST SECTION: 8 PAGE: 21

S. OTHER ASSEMBLER DIRECTIVES

8 UNIVAC III UTMDST UP-353

SECTION:

LABEL OPERATION OPERAND

The reference:

LABEL OPERATION OPERAND

• • • • E,I,G.H,T, I 1 1 • • • 1 1 I . 1 • • • I I • 1 1 1 1 1 I 1

I

I )

---~---~-is equivalent to:

While the reference:

is equivalent to:

UP-3853

UNIVAC III UTMDST

8

SECTION: PAGE:

The assem bIer directive GO may be used with a procedure to direct the assem bIer to transfer control in the assembly of a procedure. The operand of a GO directive must be the label of a NAME directive. For example, given the following procedure:

LABEL OPERATION OPERAND

The reference:

is equivalent to:

While the reference:

;\

27

8

SEC TION:

I

PAGE, 28

UNIVAC III UTMOST

UP-3853

is equivalent to:

LABEL

/).

OPERATION

/).

OPERAND

/). I

1

I

I I • • I • • , I 1

,L,A

I I I ,1.51 '131'181 1 I , I 1 • 1 I I 1 I I I , I

I

I

• • • • I 1

S.A

1 1 1 5 ,131 ' 9 1 1 1 I 1 1 • • I I 1 \

...,-..

~

-

J

A procedure may make use of variables, which are submitted to a procedure at the time it is referenced. The variables are submitted by means of lists, which make up the operand of the line referencing the procedure. A list consists of a series of expressions separated by commas.

More than one list may follow a procedure reference. Lists are separated by spaces. For example, the following is a reference to the NAME directive labelled IT of the procedure labelled MOVE. (The MOVE procedure is shown in part S of this section.)

This procedure reference is followed by four lists, The first contains one expression (IN), as does the second (OUT) and third (SO). The fourth list contains two expressions (14, 13) .. In this case, the variables being submitted are as follows.

1. The label of the zero word of the area from which words are to be moved (IN).

2. Th,e label of the zero word of the area into which words are to be moved (OUT).

3. The number of words to be moved (SO).

4. The number of the index register to be used to address the" from" area (14).

5. The number of the index register to be used to address the "into" area (13).

Within the procedure coding, variables are referenced by means of the following expressions.

label (s, e)

Where "label" is the procedure label, "s" is the number of the list desired, and He" is the number of the desired expression within the list. For example, in the following line:

LABEL OPERATION OPERAND \

1 I L~ X. I 1 • M, 0 VEl ( .4.1 ' ) 1 '. ( 1M. O. VI E I ( I 1. I 11) I ) I I I I I I I

I

I I I v---~-

~ ---,~---~, - - - -

-

-

J

UP-3853

UNIVAC III UTMOST

8

SECTION: PAGE:

MOVE (4, 1) references the first expression in the fourth list of the reference to the MOVE procedure. MOVE (1, 1) references the first expression in the first list. Thus, if the reference to MOVE procedure is:

LABEL OPERATION OPERAND

the line in the procedure becomes:

To reference, within the procedure, the number of lists supplied by the reference to the procedure, the label of the procedure is used, For example, in the following line:

the num ber of lists supplied by the reference to the procedure is substituted for MOVE. If the reference is:

four is substituted for MOVE. If the reference is:

three is substituted for MOVE.

To reference, within a procedure, the number of expressions in a list, the following expression is used:

label (s)

where "label" is the label of the procedure and "s" is the number of the list desired. For, example, in the following line:

29

8

SECTION:

1

UNIVAC III UTMOST

the number of expressions supplied in list one of the reference to the procedure is substituted for MOVE (1). Thus, if the reference is:

one is substituted for MOVE(l). If the reference is:

two is substituted for MOVE (1).

To reference, within a procedure, the operand of the NAME directive whose label was used to reference the procedure, the label of the procedure followed by (0, 0) is used. For example, the first three lines of the MOVE procedure are:

LABEL

~

OPERATION

~

OPERAND

~

•• , ,

,M.O, ViE, I .P,R,O, C1 , I

. . . . , ,

I I I I I I I I I I I

I

I T

I .N A M E I 0

. 1

I I

I I • • •

. ,

I ~ 1 I I

S T 1

I N AM E

• • I 1

I I , I I I

i i 1 I I • •

. . .

I , 1 I I ••

V--

In the following line:

-

~

-- - -

---1. If the MOVE procedure is referenced by the label IT, zero is substituted for MOVE (0, 0).

2. If referenced by tpe label STl, one is substituted for MOVE (0, 0).

An expression in a list may be proceded by an asterisk (*). For example, suppose the following FORM directive, which lays out the "form" of an instruction:

UP-3853

\

I

I

. ,

)

)

I

.-l

UP-3853

UNIVAC III UTMOST

8

--L--L..L~"____'___BL_, -'---'-I-',___'__~_'_____'__L,P_'_'_R,'__°..LICJ..'__'__L_..L_'____l___'__, L--'-_-L_L_'____l_l-'_-'-_-'-..L--L.LL-L_L--'- -'----'---'--1 I I I I I I I I I J_'_~_-'---'__-'---L_-'-_L___L __

1---'----'----'___'__..LL---'-O~"-'-D-'-"--1·I___'___'__'____'__L_L__'____lN _" L-Ml IIE---"--,'---'--..L--'--'--L-~2 I I I I I I I I I I I I I I - " - - - ' - - ' -I I I I I I I I I I I

8

SEC TI ON:

I

PAGE, 32

UNIVAC III UTMOST

U. EXAMPLE

The MOVE procedure has as its function the movement of a specified number of words from one storage area to another. It may be referenced by anyone of the four following coding lines:

L a b e 1

I SIT I

l-.l~-I!----..l,_L-.J!_a-.J,_b~!Le_~!LI_!L-..L'

-LI -LI L----L! _a LI b-LI _eLI _I LI -L.--L--..J.-I _#..1..1 --..J.-1_°..1..I_f ...LI

---'-1_W--'-I_O---""I_'---""I_d_ILS~IL--'IL--'I'--L-L-..L-..L­

~_L-L-~L-ILI~ILT-L-~_L~~~~_~~~-LI0-LI '-L!i-LI_'~! -L-L~-LI_#~I~I_o~lf~I_LWlo!, ,d IS !~,~~~~~

IS IT 11 I I I L_~~~ I' ! I .L-L IO! ' I i I ' I ...L..1--1---L,_#-'-,----"-I_o-'-,_f-'-I----'-I_W_--',_O-',_'-','-d-,-I s-LI

-'--'-_L.-'--'--L~--'-If the MOVE procedure is referenced with the name IT, then iterative coding is used to make the move. If referenced with ST1, straight line coding is used. An exception to this rule occurs when iterative coding is called for and the number of words to be moved is less than or equal to 20, in which case straight line coding is supplied.

The first list specifies the address of the zero word of the area from which the words are to be moved. This specification can be made either as a label or as the number of an index register containing the address.

The second list specifies the address of the zero word of the area into which the words are to be moved. This specification, also, can be made as a label or as an index register number.

The third list specifies the number of words to be moved. If iterative coding is called for, and if the area locations are specified in label form, then a fourth list consisting of two expressions is necessary. The first expression specifies the number of the index register to be used to address the "from" area. The second specifies the number of the index register to be used to address the "into" area.

The coding for the MOVE procedure follows. An explanation of this coding follows the coding.

UP·,3853

Dans le document MANUAL ENE (Page 164-171)

Documents relatifs