Using self-defining terms
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.