| Element | DOS/VSE Assembler | Assembler H Version 2 | High Level Assembler |
|---|---|---|---|
| Macro comment statements allowed in open code | No | No | Yes |
| EQU instruction extension
Symbols appearing in the first operand of the EQU instruction need not have been previously defined.
Operands for assembler and program types. |
No No |
Yes No |
Yes, program type and assembler type operands Yes |
| CNOP instruction extension
There is no restriction that symbols in the operand field of a CNOP instruction must have been previously defined.
Support for quadword alignment. |
No No |
Yes No |
Yes, byte and boundary operands Yes |
| COPY instruction extension
Any number of 'nestings', COPY statements within code that have been brought into your program by another COPY statement, is permitted. |
No, nesting depth limited to 3 | Yes | Yes |
| COPY instruction processed immediately
COPY members are read immediately after a COPY statement is encountered in the source, regardless of whether or not conditional processing requires it, as in the following example: AGO .LABEL
COPY AFILE
.LABEL ANOP |
No, AFILE is never opened, read from, or processed in any way. | Yes, AFILE is scanned during lookahead processing | Yes, AFILE is scanned during lookahead processing |
| COPY instruction operand can, in open code, be specified as a variable symbol. | No | No | Yes |
| ISEQ instruction extension
Sequence checking of any column on input records is allowed. |
No | Yes | Yes |
| Macro names
Inline macro names may contain the underscore character (_). |
No | Yes | Yes |
| Continuation lines | Up to 2 | Up to 9 | Up to 9 |
| Continuation lines and double-byte data | No | Yes | Yes |
| Symbol name length up to 63 characters | No, limited to 8 | Yes | Yes |
| Levels within expressions
Any number of terms or levels of parenthesis in an expression is allowed. |
No | Yes | Yes |
| Underscores in symbols
You can specify the underscore character (_) in ordinary symbols and variable symbols. |
No | Yes | Yes |
| Underscore character accepted in any position in symbol name | No | No | Yes |
| Underscore character accepted in external symbols | No | No | Yes |
| Underscore character accepted in name field of OPSYN instruction | No | No | Yes |
| Maximum number of external symbols | 511 | 65 535 | 65 535 |
| DBCS language support
Pure double-byte data, and double-byte data mixed with single-byte data is permitted. |
No | Yes | Yes |
| Location counter value printed for EQU, USING, ORG (in ADDR2 field) | 3 bytes | 4 bytes (up to 3 leading zeros suppressed). | 4 bytes (up to 3 leading zeros suppressed). |
|
Self-defining term Maximum value Number of digits Binary: Decimal: Hexadecimal: Characters: |
224-1 24 8 6 3 |
231-1 31 10 8 4 |
231-1 31 10 8 4 |
Relocatable and absolute expressions
|
Truncated to 24 bits
|
Truncated to 31 bits
|
Truncated to 31 bits
|
| All control sections initiated by a CSECT start at location 0 in listing and object module. | Yes | No | Controlled by THREAD option |
| Copy files read once | Copy files read when statement is found | Copy files read when macro is edited (only once) | Copy files read when macro is edited (only once) |
| Operand greater than 1024 characters when SUBLIST | Error diagnostic with message and return code of 8 | Error diagnostic with message and return code of 12 | No |
| Remarks generated because of generated blanks in operand field | No | Yes | Yes |
| Blank lines treated as equivalent to SPACE 1. | No | No | Yes |
| Literals usable as relocatable terms in expressions | No | No | Yes |
| Literals usable in RX format instructions in which index register is used | No | No | Yes |
| Mixed case input | No | No | Yes |
| 2-byte relocatable address constants | No | No | Yes |
| Multi-level PUSH supported
For example, PUSH USING,USING |
No | Yes. Not documented. | No |
[ Top of Page | Previous Page | Next Page | Contents | Index ]