HLASM Language Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Range of a labeled USING instruction

HLASM Language Reference
SC26-4940-06

The range of a labeled USING instruction (called the labeled USING range) is the 4096 bytes beginning at the base address specified in the labeled USING instruction, or the range as specified by the range end, whichever is the lesser. Addresses that lie within the labeled USING range can be converted from their implicit form (qualified symbols) to their explicit form; those outside the USING range cannot be converted.

Like the ordinary USING range, the labeled USING range is the range of addresses in a control section that is associated with the base register specified in the labeled USING instruction. If the labeled USING instruction assigns more than one base register, the composite labeled USING range is the product of the number of registers specified in the labeled USING instruction and 4096 bytes. The composite labeled USING range begins at the base address specified in the labeled USING instruction. Unlike the ordinary USING range, however, you cannot specify separate labeled USING instructions to establish the same labeled USING range. For example,
IN      USING BASE,10,11
specifies a range of 8192 bytes beginning at BASE, but
IN      USING BASE,10
IN      USING BASE+4096,11
specifies a single labeled USING range of 4096 bytes beginning at BASE+4096.
You can specify the same base address in any number of labeled USING instructions. You can also specify the same base address in an ordinary USING and a labeled USING. However, unlike ordinary USING instructions that have the same base address, if you specify the same base address in an ordinary USING instruction and a labeled USING instruction, High Level Assembler does not treat the USING ranges as coinciding. When you specify an unqualified symbol in an assembler instruction, the base register specified in the ordinary USING is used by the assembler to resolve the address into base-displacement form. Here is an example of coexistent ordinary USINGs and labeled USINGs:
         USING  IHADCB,R10
SAMPLE   USING  IHADCB,R2
         MVC    DCBLRECL,SAMPLE.DCBLRECL

In this MVC instruction, the (unqualified) first operand is resolved with the ordinary USING, and the (qualified) second operand is resolved with the labeled USING.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014