22.02.2015 Views

HLASM Language Reference

HLASM Language Reference

HLASM Language Reference

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

USING Instruction<br />

Range of a Dependent USING Instruction<br />

The range of a dependent USING instruction (called the dependent USING range)<br />

is either the range as specified by the range end, or the range of the corresponding<br />

USING minus the offset of address within that range, whichever is the lesser. If the<br />

corresponding labeled or ordinary USING assigns more than one base register, the<br />

maximum dependent USING range is the composite USING range of the labeled or<br />

ordinary USING.<br />

If the dependent USING instruction specifies a supporting base address that is<br />

within the range of more than one ordinary USING, the assembler determines<br />

which base register to use during base-displacement resolution as follows:<br />

The assembler computes displacements from the ordinary USING base<br />

address that gives the smallest displacement, and uses the corresponding base<br />

register.<br />

If more than one ordinary USING gives the smallest displacement, the<br />

assembler uses the higher-numbered register for assembling addresses within<br />

the coinciding USING ranges.<br />

Domain of a Dependent USING Instruction<br />

The domain of a dependent USING instruction (called the dependent USING<br />

domain) begins where the dependent USING appears in the source module and<br />

continues until the end of the source module, except when:<br />

You end the domain of the corresponding ordinary USING by specifying the<br />

base register or registers from the ordinary USING instruction in a subsequent<br />

DROP instruction.<br />

You end the domain of the corresponding ordinary USING by specifying the<br />

same base register or registers from the ordinary USING instruction in a<br />

subsequent ordinary USING instruction.<br />

You end the domain of a labeled dependent USING by specifying the label of<br />

the labeled dependent USING in the operand of a subsequent DROP<br />

instruction.<br />

You end the domain of a labeled dependent USING by specifying the label of<br />

the labeled dependent USING in the operand of a subsequent labeled USING<br />

instruction.<br />

When a labeled dependent USING domain is dropped, none of any subordinate<br />

USING domains are dropped. In the following example the labeled dependent<br />

USING BLBL1 is not dropped, even though it appears to be dependent on the<br />

USING ALBL2 that is being dropped:<br />

228 <strong>HLASM</strong> V1R5 <strong>Language</strong> <strong>Reference</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!