Base address

The term base address is used throughout this manual to mean the location counter value within a control section from which the assembler can compute displacements to locations, or addresses, within the control section. Don't confuse this with the storage address of a control section when it is loaded into storage at execution time.

The USING instruction has three formats:

Note:
The assembler identifies and warns about statements where the implied alignment of an operand does not match the requirements of the instruction. However, if the base for a USING is not aligned on the required boundary, the assembler cannot diagnose a problem. For example:
DS1      DSECT
         DS    H
REGPAIR  DS    2ADL8               Halfword alignment
DS2      DSECT
REGPAIR_ALIGN  DS 2ADL8            Doubleword alignment
         CSECT
         ...
         USING DS1,R1              Ordinary USING
         USING DS2,REGPAIR         Dependent USING
         STPQ  R0,REGPAIR          REGPAIR is not a quadword
         STPQ  R0,REGPAIR_ALIGN    But REGPAIR_ALIGN is

The first STPQ instruction is diagnosed as an alignment error. The second STPQ instruction is not, even though the same storage location is implied by the code.

You must take care to ensure base addresses match the alignment requirements of storage mapped by a USING. For a description of the alignment requirements of instructions, see the relevant Principles of Operation.


[ Top of Page | Previous Page | Next Page | Contents | Index ]