Base registers for absolute addresses
Absolute addresses used in a source module must also be made addressable. Absolute addresses require a base register other than the base register assigned to relocatable addresses (as described above).
However, the assembler does not need a USING instruction to convert absolute implicit addresses in the range 0 through 4095 to their explicit form. The assembler uses register 0 as a base register. Displacements are computed from the base address 0, because the assembler assumes that a base or index of 0 implies that a zero quantity is to be used in forming the address, regardless of the contents of register 0. The USING domain for this automatic base register assignment is the entire source module.
USING 0,3
LA 7,5
generates the instruction
X'41703005'; in the absence of the USING statement, the generated
instruction is X'41700005'. - With a base address representing an absolute expression
- With a base register that has not been assigned by a USING instruction in which a relocatable base address is specified
This base register must be loaded with the base address specified.