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.

Data Attributes<br />

The operation code attribute has a value of a single alphabetic character that<br />

shows the type of operation represented.<br />

This attribute reference can be used in the operand field of the SETC instruction or<br />

as one of the values used in the operand field of a SETB or AIF instruction.<br />

The following letters are used for the value of the operation code attribute:<br />

A<br />

E<br />

M<br />

O<br />

S<br />

U<br />

Notes:<br />

Assembler operation code<br />

Extended mnemonic operation code<br />

Macro definition<br />

Machine operation code<br />

Macro definition found in library<br />

Undefined, unknown, unassigned, or deleted operation code<br />

1. The operation code (O') attribute can only be used in a conditional assembly<br />

statement.<br />

2. The assembler does not enter lookahead mode to resolve the operation code<br />

type, therefore only operation codes defined at the time the attribute is<br />

referenced return an operation code type value other than U.<br />

3. When the operation code is not an assembler instruction or a machine<br />

instruction, and the operation code is not a previously defined macro, then all<br />

libraries in the library data set definition list are searched. This may have an<br />

adverse impact on the performance of the assembly, depending on the number<br />

of libraries assigned in the assembly job and the number of times the operation<br />

code attribute is used.<br />

Examples:<br />

Name Operation Operand<br />

&A SETC O'MVC<br />

&A contains the letter O, because MVC is a machine operation code:<br />

Name Operation Operand<br />

&A SETC 'DROP'<br />

&B SETC O'&A<br />

&B contains the letter A, because DROP is an assembler operation code.<br />

The following example checks to see if the macro MAC1 is defined. If not, the<br />

MAC1 macro instruction is bypassed. This prevents the assembly from failing<br />

when the macro is not available.<br />

Name Operation Operand<br />

&CHECKIT SETC<br />

AIF<br />

MAC1<br />

.NOMAC ANOP<br />

.<br />

O'MAC1<br />

('&CHECKIT' EQ 'U').NOMAC<br />

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