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.

Values in Operands<br />

Notes:<br />

1. Spaces appearing between commas (without surrounding single quotation<br />

marks) do not signify an omitted positional operand or an omitted sublist entry;<br />

they indicate the end of the operand field.<br />

2. Adjacent commas indicate omission of positional operands; no comma is<br />

needed to indicate omission of the last or only positional operand.<br />

The following example shows a macro instruction preceded by its corresponding<br />

prototype statement. The macro instruction operands that correspond to the third<br />

and sixth operands of the prototype statement are omitted in this example.<br />

EXAMPLE &A,&B,&C,&D,&E,&F macro prototype<br />

EXAMPLE 17,+4,,AREA,FIELD(6) macro instruction<br />

Unquoted Operands<br />

The assembler normally retains the case of unquoted macro operands. However,<br />

to maintain uppercase alphabetic character set compatibility with earlier<br />

assemblers, High Level Assembler provides the COMPAT(MACROCASE)<br />

assembler option. When you specify this option, the assembler internally converts<br />

lowercase alphabetic characters (a through z) in unquoted macro instruction<br />

operands to uppercase alphabetic characters (A though Z), before macro expansion<br />

begins.<br />

Special Characters<br />

Any of the 256 characters of the EBCDIC character set can appear in the value of<br />

a macro instruction operand (or sublist entry). However, the following characters<br />

require special consideration:<br />

Ampersands<br />

A single ampersand indicates the presence of a variable symbol. The assembler<br />

substitutes the value of the variable symbol into the character string specified in a<br />

macro instruction operand. The resultant string is then the value passed into the<br />

macro definition. If the variable symbol is undefined, an error message is issued.<br />

Double ampersands must be specified if a single ampersand is to be passed to the<br />

macro definition.<br />

Examples:<br />

&VAR<br />

&A+&B+3+&C1<br />

'&MESSAGE'<br />

&&REGISTER<br />

Single Quotation Marks<br />

A single quotation mark is used:<br />

To indicate the beginning and end of a quoted string<br />

In a length, type, integer, opcode, or scale attribute reference notation that is<br />

not within a quoted string<br />

Examples:<br />

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