22.02.2015 Views

HLASM Language Reference

HLASM Language Reference

HLASM Language Reference

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

USING Instruction<br />

In this MVC instruction, the (unqualified) first operand is resolved with the ordinary<br />

USING, and the (qualified) second operand is resolved with the labeled USING.<br />

Domain of a Labeled USING Instruction<br />

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

begins where the USING instruction appears in a source module. It continues to<br />

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

A subsequent DROP instruction specifies the label used in the preceding<br />

labeled USING instruction.<br />

A subsequent USING instruction specifies the same label used in the preceding<br />

labeled USING instruction. The second specification of the label causes the<br />

assembler to end the domain of the prior USING with the same label.<br />

You can specify the same base register or registers in any number of labeled<br />

USING instructions. However, unlike ordinary USING instructions, as long as all<br />

the labeled USINGs have unique labels, the assembler considers the domains of all<br />

the labeled USINGs to be active and their labels eligible to be used as symbol<br />

qualifiers. With ordinary USINGs, when you specify the same base register in a<br />

subsequent USING instruction, the domain of the prior USING is ended.<br />

The assembler converts implicit address references into their explicit form using the<br />

base register or registers specified in a labeled USING instruction when the<br />

following conditions are met:<br />

The address reference appears in the domain of the labeled USING instruction.<br />

The address reference takes the form of a qualified symbol and the qualifier is<br />

the label of the labeled USING instruction.<br />

| The address lies within the range of the labeled USING instruction.<br />

Dependent USING Instruction<br />

The dependent USING instruction format specifies a base address and a<br />

relocatable expression instead of one or more base registers. If a USING label is<br />

also specified, this format USING instruction is called a labeled dependent USING<br />

instruction.<br />

Dependent USING<br />

►►───┬─────────────────┬─USING─┬─base─────────────<br />

┬─,address───────►◄<br />

├─label───────────┤<br />

└─(base─┬────── ┬─)<br />

─┘<br />

└─sequence_symbol─┘<br />

└─,end─┘<br />

label<br />

is one of the following:<br />

An ordinary symbol<br />

A variable symbol that has been assigned a character string with a value<br />

that is valid for an ordinary symbol<br />

sequence_symbol<br />

is a sequence symbol.<br />

226 <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!