Using General Register Zero
You can refer to the first 4096 bytes of storage using general
register 0, subject to the following conditions:
- The value of operand base must be either absolute or relocatable zero.
- Register 0 must be specified as the first base_register operand.
The assembler assumes that register 0 contains zero. Therefore, regardless of the value of operand base, it calculates displacements as if operand base were absolute or relocatable zero. The assembler also assumes that subsequent registers specified in the same USING statement contain 4096, 8192, and so on.
If register 0 is used as a base register, the referenced control
section (or dummy section) is not relocatable, despite the fact that
operand base might be relocatable. The
control section can be made relocatable by:
- Replacing register 0 in the USING statement
- Loading the new register with a relocatable value
- Reassembling the program