HLASM Language Reference

HLASM Language Reference HLASM Language Reference

faculty.cs.niu.edu
from faculty.cs.niu.edu More from this publisher
22.02.2015 Views

EQU Instruction 5. The length attribute value described in cases 2, 3, and 4 above is the assembly-time value of the attribute. For more information about the length attribute value, see “Symbol Length Attribute Reference” on page 38. For example: X DS CL8 X has length attribute 8 Y EQU X,4 Y has length attribute 4 expression_3 represents a value that the assembler assigns as a type attribute value to the symbol in the name field. It is optional, but, if specified, it must be an absolute value in the range 0 to 255. All symbols appearing in expression_3 must have been previously defined, and all expressions in expression_3 must be evaluatable when the EQU statement is processed. If expression_3 is omitted, the assembler assigns a type attribute value of U to the symbol, which means the symbol in the name field has an undefined (or unknown or unassigned) type attribute. See the general discussion about data attributes on page 324, and “Type Attribute (T')” on page 328. For example: A DS D A has type attribute D B EQU A,,C'X' B has type attribute X | expression_4 | represents a value that the assembler assigns as a program type value to the | symbol in the name field. It is optional. It can be specified as a decimal, | character, hex or binary self-defining term and is stored as a 4-byte (32-bit) | number; all four bytes are printed in the program listings opposite the symbol. | The value is not used in any way by the assembler, and may be queried by | using the SYSATTRP built-in function. | All symbols appearing in expression_4 must have been previously defined, and | all expressions in expression_4 must be evaluatable when the EQU statement | is processed. | If expression_4 is omitted, the assembler assigns a null to the program type, | and querying the value using the SYSATTRP built-in function returns a null | value. | expression_5 | represents a character value from 1-4 bytes in length, that the assembler | assigns as an assembler type value to the symbol in the name field. It is | optional. It is stored as a 4-byte string; all four bytes are printed in the program | listings opposite the symbol. The value is used by the assembler when | type-checking has been activated, and may be queried by using the | SYSATTRA built-in function. | Valid values for this expression are: 186 HLASM V1R5 Language Reference

EXITCTL Instruction | AR Register - Access | CR Register - Control | CR32 Register - Control 32-bit | CR64 Register - Control 64-bit | FPR Register - Floating-Point | GR Register - General | GR32 Register - General 32-bit | GR64 Register - General 64-bit | If expression_5 is omitted, the assembler assigns a null value to the assembler | type, and querying the value using the SYSATTRA build-in function returns a | null value. The EQU instruction can be used anywhere in a source module after the ICTL instruction. Note, however, that the EQU instruction will initiate an unnamed control section (private code) if it is specified before the first control section. Using Conditional Assembly Values The following rules describe when you can use the value, length attribute value, or type attribute value of an equated symbol in conditional assembly statements: If you want to use the value of the symbol in conditional assembly statements, then: – The EQU statement that defines the symbol must be processed by the assembler before the conditional assembly statement that refers to the symbol. – The symbol in the name field of the EQU statement must be an ordinary symbol. – Expression_1 must be an absolute expression, and must contain only self-defining terms or previously defined symbols. If only expression_1 is specified, the assembler assigns a value of 1 to the length attribute, and a value of U to the type attribute of the symbol during conditional assembly. You can use these values in conditional assembly statements, although references to the length attribute may be flagged. If you specify expression_2 or expression_3 and you want to use the explicit attribute value during conditional assembly processing, then: – The symbol in the name field must be an ordinary symbol. – The expression must contain only self-defining terms. EXITCTL Instruction The EXITCTL instruction sets or modifies the contents of the four signed fullword exit-control parameters that the assembler maintains for each type of exit. ►►──┬─────────────────┬──EXITCTL────────────────────────────────────► └─sequence_symbol─┘ ┌ ────────────────────────┐ ►──exit_type── ▼ ─,──┬───────────────┬ ── (1) ─┴────────────────────────────►◄ └─control_value─┘ Note: 1 From one to four values to be supplied. Chapter 5. Assembler Instruction Statements 187

EXITCTL Instruction<br />

| AR Register - Access<br />

| CR Register - Control<br />

| CR32 Register - Control 32-bit<br />

| CR64 Register - Control 64-bit<br />

| FPR Register - Floating-Point<br />

| GR Register - General<br />

| GR32 Register - General 32-bit<br />

| GR64 Register - General 64-bit<br />

| If expression_5 is omitted, the assembler assigns a null value to the assembler<br />

| type, and querying the value using the SYSATTRA build-in function returns a<br />

| null value.<br />

The EQU instruction can be used anywhere in a source module after the ICTL<br />

instruction. Note, however, that the EQU instruction will initiate an unnamed control<br />

section (private code) if it is specified before the first control section.<br />

Using Conditional Assembly Values<br />

The following rules describe when you can use the value, length attribute value, or<br />

type attribute value of an equated symbol in conditional assembly statements:<br />

If you want to use the value of the symbol in conditional assembly statements,<br />

then:<br />

– The EQU statement that defines the symbol must be processed by the<br />

assembler before the conditional assembly statement that refers to the<br />

symbol.<br />

– The symbol in the name field of the EQU statement must be an ordinary<br />

symbol.<br />

– Expression_1 must be an absolute expression, and must contain only<br />

self-defining terms or previously defined symbols.<br />

If only expression_1 is specified, the assembler assigns a value of 1 to the<br />

length attribute, and a value of U to the type attribute of the symbol during<br />

conditional assembly. You can use these values in conditional assembly<br />

statements, although references to the length attribute may be flagged.<br />

If you specify expression_2 or expression_3 and you want to use the explicit<br />

attribute value during conditional assembly processing, then:<br />

– The symbol in the name field must be an ordinary symbol.<br />

– The expression must contain only self-defining terms.<br />

EXITCTL Instruction<br />

The EXITCTL instruction sets or modifies the contents of the four signed fullword<br />

exit-control parameters that the assembler maintains for each type of exit.<br />

►►──┬─────────────────┬──EXITCTL────────────────────────────────────►<br />

└─sequence_symbol─┘<br />

┌<br />

────────────────────────┐<br />

►──exit_type── ▼ ─,──┬───────────────┬ ──<br />

(1) ─┴────────────────────────────►◄<br />

└─control_value─┘<br />

Note:<br />

1<br />

From one to four values to be supplied.<br />

Chapter 5. Assembler Instruction Statements 187

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

Saved successfully!

Ooh no, something went wrong!