11.07.2015 Views

HLASM: V1R6 Language Ref

HLASM: V1R6 Language Ref

HLASM: V1R6 Language Ref

SHOW MORE
SHOW LESS
  • No tags were found...

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

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

Terms, literals, and expressions32 <strong>HLASM</strong>: <strong>V1R6</strong> <strong>Language</strong> <strong>Ref</strong>v A symbol can be used as an operand of a V-type constant and as an ordinarylabel, without duplication, because the operand of a V-type constant does notdefine the symbol in the symbol table.An ordinary symbol is not defined when:v It is used in the name field of an OPSYN or TITLE instruction. It can, therefore,be used in the name field of any other statement in a source module.v It is used as the operand of a V-type address constant.v It is only used in the name field of a macro instruction and does not appear inthe name field of a macro-generated assembler statement. It can, therefore, beused in the name field of any other statement in a source module.v It is only used in the name field of an ALIAS instruction and does not appear inone of the following:– The name field of a START, CSECT, RSECT, COM, or DXD instruction.– The name field of a DSECT instruction and the nominal value of a Q-typeaddress constant.– The operand of an ENTRY, EXTRN or WXTRN instruction.Previously defined symbols: An ordinary symbol is previously defined if thestatement that defines it is processed before the statement in which the symbolappears in an operand.An ordinary symbol must be defined by the time the END statement is reached,however, it need not be previously defined when it is used as follows:v In operand expressions of certain instructions such as CNOP instructions andsome ORG instructionsv In modifier expressions of DC, DS, and DXD instructionsv In the first operand of an EQU instructionv In Q-type constantsWhen using the forward-reference capability of the assembler, avoid the followingtypes of errors:v Circular definition of symbols, such as:X EQU YY EQU Xv Circular location-counter dependency, as in this example:A DS (B-A)CB LR 1,2The first statement in this example cannot be resolved because the value of theduplication factor is dependent on the location of B, which is, in turn, dependentupon the length and duplication factor of A.Literals may contain symbolic expressions in modifiers, but any ordinary symbolsused must have been previously defined.Self-defining termsA self-defining term lets you specify a value explicitly. With self-defining terms,you can also specify decimal, binary, hexadecimal, or character data. If the DBCSassembler option is specified, you can specify a graphic self-defining term thatcontains pure double-byte data, or include double-byte data in characterself-defining terms. These terms have absolute values and can be used as absoluteterms in expressions to represent bit configurations, absolute addresses,displacements, length or other modifiers, or duplication factors.

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

Saved successfully!

Ooh no, something went wrong!