The DROP instruction ends the domain of a USING instruction. This:
- Frees base registers previously assigned by the USING instruction
for other programming purposes
- Ensures that the assembler uses the base register you want in
a particular coding situation, for example, when two USING ranges
overlap or coincide
- If a control section has not been established, DROP initiates
an unnamed (private) control section
>>-+-----------------+--DROP--+-----------------------+--------><
'-sequence_symbol-' | .-,-----------------. |
| V | |
'---+-base_register-+-+-'
'-label---------'
- sequence_symbol
- Is a sequence symbol.
- base_register
- Is an absolute expression whose value represents one of the
general registers 0 through 15. The expression in base_register indicates
a general register, previously specified in the operand of an ordinary
USING statement, that is no longer to be used for base addressing.
- label
- Is one of the following:
- An ordinary symbol
- A variable symbol that has been assigned a character string with
a value that is valid for an ordinary symbol
The ordinary symbol denoted by label must be a symbol previously used in the name field of a labeled
USING statement or a labeled dependent USING statement.
If base_register or label are not specified in
the operand of a DROP instruction, all active base registers assigned
by ordinary, labeled, and labeled dependent USING instructions are
dropped.
After a DROP instruction:
- The assembler does not use the register or registers specified
in the DROP instruction as base registers. A register made unavailable
as a base register by a DROP instruction can be reassigned as a base
register by a subsequent USING instruction.
- The label or labels specified in the DROP instruction are no longer
available as symbol qualifiers. A label made unavailable as a symbol
qualifier by a DROP instruction can be reassigned as a symbol qualifier
by a subsequent labeled USING instruction.
The following statements, for example, stop the assembler using
registers 7 and 11 as base registers, and the label
FIRST as
a symbol qualifier:
DROP 7,11
DROP FIRST