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.

Model Statements<br />

Concatenation of Fields Containing Double-Byte Data: If the DBCS assembler<br />

option is specified, then the following additional rules apply:<br />

Because ampersand is not recognized in double-byte data, variable symbols<br />

must not be present in double-byte data.<br />

The concatenation character is mandatory when double-byte data is to follow a<br />

variable symbol.<br />

The assembler checks for redundant SI and SO at concatenation points. If the<br />

byte to the left of the join is SI and the byte to the right of the join is SO, then<br />

the SI/SO pair is considered redundant and is removed.<br />

Note: The rules for redundant SI and SO are different for variable substition<br />

and listing display, which are described at “Listing of Generated Fields<br />

Containing Double-Byte Data” on page 249.<br />

The following example shows these rules:<br />

&SYMBOL SETC<br />

''<br />

DBCS DC C'&SYMBOL.'<br />

The SI/SO pairs between double-byte characters Db and Dc, and Dd and .&, are<br />

removed. The variable symbol &SYMBOL is recognized between the double-byte<br />

strings but not in the double-byte strings. The result after concatenation is:<br />

DBCS DC C''<br />

Rules for Model Statement Fields<br />

The fields that can be specified in model statements are the same fields that can<br />

be specified in an ordinary assembler language statement. They are the name,<br />

operation, operand, and remarks fields. You can also specify a<br />

continuation-indicator field, an identification-sequence field, and, in source macro<br />

definitions, a field before the begin column if the correct ICTL instruction has been<br />

specified. Character strings in the last three fields (in the standard format only,<br />

columns 72 through 80) are generated exactly as they appear in the model<br />

statement, and no values are substituted for variable symbols.<br />

Model statements must have an entry in the operation field, and, in most cases, an<br />

entry in the operand field in order to generate valid assembler language<br />

instructions.<br />

Name Field<br />

The entries allowed in the name field of a model statement, before generation, are:<br />

Space<br />

An ordinary symbol<br />

A sequence symbol<br />

A variable symbol<br />

Any combination of variable symbols, or system variable symbols such as<br />

&SYSNDX, and other character strings concatenated together<br />

The generated result must be spaces (if valid) or a character string that represents<br />

a valid assembler or machine instruction name field. Double-byte data is not valid<br />

in an assembler or machine instruction name field and must not be generated.<br />

Variable symbols must not be used to generate comment statement indicators ( or<br />

.).<br />

Chapter 7. How to Specify Macro Definitions 251

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

Saved successfully!

Ooh no, something went wrong!