• Aucun résultat trouvé

1~le LOCATION OPERATION OPERANDS

Dans le document Honeywell 2040 (Page 149-154)

NUMBER CODE

, z 13 41 ~ 6 ? 8 141!1 ZO Z, 6Z 63 110

I

-:

!s,EG A. A. I , ---o..~~~_~

I I , I ~---' , _~-L.~~

In the example above, AA could represent the first segment of a program, in which case this entry would follow the program header.

Execute

\.; .. \ .•• B

I .. c I .• ~.I .. ~~ .. /2.000.1

EX

The end of a memory load is indicated by an EX statement. When the coding inserted by the as sembler for the EX statement is encountered during the loading proces s, a branch to the location specified in the operands field results. This operation enables portions of the program

~o be executed before the entire program has been loaded. The coding to be executed must ap-pear prior to the EX statement.

EASYCODER A

The letters EX must be written in the op code field; the operands field contains a direct addres s, either absolute or symbolic. (If an EX statement is written with a blank operands field, the machine will halt when it .encounters the corresponding coding during the loading operation. )

To resume the loading operation, the last instruction in the portion of the program exe-cuted must be a Branch instruction which provides re-entry to the load routine. In addition, the first instruction of the executed routine should be an SCR (Store Control Registers) instruc-tion which stores the contents of the B-address register in the A-address of the return Branch ins tr uction.

EASYCODER

COOING FORM

PROBLEM _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ PROGRAMMER _ _ _ _ _ _ OATE _ _ _ _ _ MGE_OF_

CARD JI~ LOCATION OPERATION

OPERANDS NUMBER ~ ~ eOOE

I ZI) 41~ 6 1 • 1415 ZO ZI I l l ) 10

I

:

EX SEeS

I . I

i i

The sample statement above illustrates an EX statement with a symbolic address in the operands field. When the corresponding coding is encountered during the loading operation, program loading is temporarily halted and the portion of the program beginning at the location tagged SEC 3 is executed.

EASYCODER B

The letters EX must be written in the op code field; the operands field contains a direct addres s, either absolute or symbolic. (If an EX statement is written with a blank operands field, the machine will halt when it encounters the corresponding coding during the loading operation. )

To resume the loading operation, the last instruction in the portion of the program exe-cuted must be a Branch instruction which provides re -entry to the load 'routine. In addition, the first instruction of the executed routine should be an SCR (Store Control Registers) instruction which stores the contents of the B-address register in the A-address of the return Branch

in-struction.

Besides causing a branch to the programmer's coding, use of the EX statement causes any literals used in the memory load to be loaded and the literal table to be cleared. If a LITORG statement (see below) does not precede the EX statement, literals are allocated im-mediately following the in-line coding for the memory load.

NOTES: 1. Following an EX statement, a new segment number is generated as explained above in the description of the program header.

2. With Easycoder B, the total of the numbers of Execute, Literal Origin, and End statements must not exceed 31.

See the sample statement given above for Easycoder A.

EASYCODER C, D, and OS/2000

The letters EX must be written in the op code field; the operands field must contain a direct address, either absolute or symbolic. When used with these assemblers, the EX state-ment enables a program to be loaded and executed one segstate-ment at a time. Each segstate-ment except the last must end with either an EX or an XFR statement. When an EX statement is encountered, all literals preceding the EX statement which have not been allocated to memory are allocated in sequence, and the literal table is cleared.

o

Note that it is the responsibility of the programmer to provide re-entry to the load routine.

The methods of returning to the applicable loader are described in the pertinent Honeywell pub-lication - e.g., Card Loader-Monitor B (Order No. BA95), Tape Loader-Monitor C (Order No.

BB 20), or OS /2000 Supervisor Components (Order No. AH23).

See the sample statement given above for Easycoder A.

Transfer XFR

For Easycoder C, D, and OS /2000 users, the end of a memory load may be indicated by an XFR statement instead of an EX statement. Both statements perform essentially the same func-tions; the one exception is that use of the XFR statement does not result in the allocation of literals or in the clearing of the literal table.

When the coding inserted by the assembler for the XFR statement is encountered during the loading process, a branch to the location specified in the operands field results. This opera-tion enables poropera-tions of the program to be executed before the entire program has been loaded.

EASYCODER C, D, and OS /2000

The letters XFR must be written in the op code field; the operands field must contain a direct address, either absolute or symbolic. Use of this statement enables a program to be loaded and executed one segment at a time. Each segment except the last must end with either an XFR or an EX statement.

NOTE: It is the responsibility of the programmer to provide re-entry to the load routine.

EASYCODER

CODING FORM

PROBLEM _ _ _ _ _ _ _ _ _ _ _ _ --,--_ _ _ _ _ _ _ _ _ PROGRAMMER _ _ _ _ _ _ DATE _ _ _ _ _ Pl\GE _OF __

CARD ~ ~ LOCATION OPERATION OPERANDS

NUMBER ~ ~ CODE

, 213 415 6 7 8 14 I~ 2021 626) 80

I

:

IX,FR SEC4

1 ~ 1 , , 1

The sample statement above illustrates an XFR statement with a symbolic address in the operands field. When the corresponding coding is encountered during the loading operation, program loading is temporarily halted and the portion of the program beginning at the location tagged SEC4 is executed.

Origin ORG

The ORG statement is used to modify the normal memory allocation process of assembly.

This statement can be inserted anywhere in the source program to indicate to the assembler that all subsequent coding (instructions, constants, work areas, etc.) should be assigned se-quential memory locations starting with the location whose address is specified in the operands field.

A program is normally allocated memory space beginning at location

o.

If it is desired to as sign memory space starting at some location other than 0, an ORG statement must be inserted in the program immediately following the program header.

EASYCODER A

The letters ORG are written in the op code field, and an address (either absolute or sym-bolic) is written in the operands field. (If the address is symbolic, the tag must appear in the location field of a previous source -program entry.) The addres s speCified in the operands field is as signed the tag (if any) in the location field; if this tag appears, it must not be indented.

EASYCODER

COOING FORM

PROBLEM _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ~ _ _ PROGRAMMER _ _ _ _ _ _ OATE _ . _ _ _ f'l\GE _ O F _ CARD

if!1

LOCATION OPERATION OPERANDS

NUMBER CODE

1 213 415 II 7 • 1415 202' 62 63 10

I

:

:QRG 75.(1

I I - ' - ' -..,..1-.

b.RTA·i,

I I ORG

I I I

1 I

The first statement above indicates to the assembler that all subsequent entries should be assigned sequential addresses beginning with location 750. The second statement directs the assembler to assign to all subsequent entries sequential addresses beginning with the address that is assigned to the tag ORTAG. (OR TAG must appear in the location field of a previous source-program entry. )

EASYCODERB

The letters ORG are written in the op code field, and an address (either absolute or sym-bolic) is written in the operands field. (If the address is symbolic, the tag must appear in the location field of a previous source-program entry.) The address specified in the operands field is as signed the tag (if any) in the location field; if this tag appears, it must not be indented.

NOTE: When the BRT punched-card format is specified, an ORG statement ~

be included immediately following the FROG statement with an address of 1,000 (decimal) or above.

See the sample statements given above for Easycoder A.

EASYCODER C, D, and OS /2000

The letters ORG are written in the op code field, and an address (either absolute or sym-bolic) is written in the operands field. If the address is symbolic, the tag must appear in the location field of another (not necessarily previous) source-program entry. A symbolic tag may be written in the location field. If this tag begins in column 8, it is assigned to the address written in the operands field. If it begins in column 9, the tag is as signed to the location at which the next instruction would have begun had the ORG statement not been present.

NOTE: Care must be taken so that the address in the operands field is a decimal number of 1,000 or above if Card Loader -Monitor B is used to load the object program. If Tape Loader-Monitor C or Drum Bootstrap-Loader C is used, this decimal number must be 1, 340 or above. For OS /2000 the object program must start at 190 or higher.

The ORG statement has additional functions for relocatable code (see OS /2000 Easycoder Assembler, Order No. AH3l).

EASYCODER

CODING FORM

PROBLEM _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ PROGRAMMER _ _ _ _ _ _ OATE _ . _ _ _ PAGE _ O F _

CARD I~I~ LOCATION OPERATION OPERANDS

NUMBER

Ir

~ CODE.

I 2 13 4'-~ 6 7 8 14 I~ 2021 62 63 10

Dans le document Honeywell 2040 (Page 149-154)

Documents relatifs