HLASM Language Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Using self-defining terms

HLASM Language Reference
SC26-4940-06

Self-defining terms represent machine language binary values and are absolute terms. Their values do not change upon program relocation. Here are some examples of self-defining terms and the binary values they represent:

Self-Defining Term Decimal Value Binary Value
15 15 1111
241 241 1111 0001
B'1111' 15 1111
B'11110001' 241 1111 0001
B'100000001' 257 0001 0000 0001
X'F' 15 1111
X'F1' 241 1111 0001
X'101' 257 0001 0000 0001
C'1' 241 1111 0001
C'A' 193 1100 0001
C'AB' 49,602 1100 0001 1100 0010
G'<.A>' 17,089 0100 0010 1100 0001

The assembler carries the values represented by self-defining terms to 4 bytes or 32 bits, the high-order bit of which is the sign bit. (A '1' in the sign bit indicates a negative value; a '0' indicates a positive value.)

The use of a self-defining term is distinct from the use of data constants or literals. When you use a self-defining term in a machine instruction statement, its value is used to determine the binary value that is assembled into the instruction. When a data constant is referred to or a literal is specified in the operand of an instruction, its address is assembled into the instruction. Self-defining terms are always right-aligned. Truncation or padding with zeros, if necessary, occurs on the left.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014