| Element | DOS/VSE Assembler | Assembler H Version 2 | High Level Assembler |
|---|---|---|---|
| External Function calls using high level programming language | No | No | Yes |
| Built-In Functions for SETA, SETB, and SETC expressions | No | No | Yes |
| Substring length value
The second subscript value of the substring notation can be specified as an (*). |
No | No | Yes |
| Library macros in source format | No, library macros must be stored in edited format | Yes | Yes |
| Macro definitions can appear anywhere in your source module. | No, they must be at the start of the source file. | Yes | Yes |
| Editing macro definitions
Use conditional assembly statement to avoid editing of macros. |
No | Yes | Yes |
| Redefining macros
A macro definition can be redefined at any point in the source code. |
No | Yes | Yes |
| Nesting macro definitions
Allow inner macro definitions. |
No | Yes | Yes |
| Generated macro instruction operation codes
Macro instruction operation codes can be generated by substitution. |
No | Yes | Yes |
| Multilevel sublists in macro instruction operands
Multilevel sublists (sublists within sublists) are permitted in macro instruction operands and in keyword default values in prototype statements. |
No | Yes | Yes |
| DBCS language support
Double-byte data is supported by the macro language. |
No | Yes | Yes |
| Macro names, variable symbols (including the ampersand) and sequence symbols (including the period) can be up to a maximum of 63 characters. | No, limited to 8 characters | Yes | Yes |
| Comments (both ordinary comments beginning with '*' and internal macro comments beginning with '.*') can be inserted between the macro header and the prototype and, for library macros, before the macro header. | No | Yes | Yes |
| Any mnemonic operation code, or any assembler operation code, can be defined as a macro instruction. | No | Yes | Yes |
| Any instruction, except ICTL, is permitted within a macro definition. | No | Yes | Yes |
| AIF statements
The AIF statement can include a string of logical expressions and related sequence symbols. |
No | Yes | Yes |
| AGO statements
The AGO statement can contain computed branch sequence information. |
No | Yes | Yes |
| SETx statements
The SETA, SETB and SETC statements can assign lists or arrays of values to subscripted SET symbols. |
No | Yes | Yes |
SET symbol format and definition changes
|
No | Yes | Yes |
| Created SET symbols
SET symbols may be created during the generation of a macro. |
No | Yes | Yes |
| Using SETC variables in arithmetic expressions
You can use a SETC variable as an arithmetic term if its character string value represents a valid self-defining term. |
No | Yes | Yes |
| Forward attribute references
If an attribute reference is made to a symbol that has not yet been encountered, the assembler scans the source code either until it finds the referenced symbol in the name field of a statement in open code, or until it reaches the end of the source module. |
No | Yes | Yes |
| Attribute reference using SETC variables
You can take an attribute reference for a symbol specified as:
|
No | Yes | Yes |
| Number attributes for SET symbols
The number attribute can be applied to SETx variables to determine the highest subscript value of a SET symbol array to which a value has been assigned in a SETx instruction. |
No | Yes | Yes |
| Alternate format in conditional assembly
The alternate format allows a group of operands to be spread over several lines of code. |
No | Yes | Yes |
| Maximum number of symbolic parameters and macro instruction operands | 200 | No fixed maximum | No fixed maximum |
| Mixing positional and keyword symbolic parameters and macro instruction operands | All positional parameters or operands must come first. | Keyword parameters or operands can be interspersed among positional parameters or operands. | Keyword parameters or operands can be interspersed among positional parameters or operands. |
| SET symbol declaration | Declaration of local symbols must immediately precede declaration of global symbols.
Declaration of global and local symbols must immediately follow prototype statement if in macro definition. Declaration of global and local symbols must immediately follow source macro definitions, if in open code. |
Declaration of local and global symbols can be mixed.
Declaration of global and local symbols does not need to immediately follow prototype statement if in macro definition. Declaration of global and local symbols does not need to immediately follow source macro definitions, if in open code. |
Declaration of local and global symbols can be mixed.
Declaration of global and local symbols does not need to immediately follow prototype statement if in macro definition. Declaration of global and local symbols does not need to immediately follow source macro definitions, if in open code. |
| Maximum dimension for subscripted SET Symbols | 4095 | Not limited | Not limited |
| Duplication factor allowed in SETC instruction | No | Yes | Yes |
| Dynamically extended SET symbol arrays | No | Yes | Yes |
| Number of terms in arithmetic expressions in conditional assembly | Up to 16 | Not limited | Not limited |
| Levels of parentheses in arithmetic expressions in conditional assembly | Up to 5 | Not limited | Not limited |
| MNOTE with error in macro is flagged at each invocation | Yes | No | No |
| Blank lines treated as equivalent to ASPACE 1. | No | No | Yes |
| Name entry of macro instruction must be a valid symbol | Yes | Yes | No |
| Ampersand preceding the SET symbols being declared is optional | No | No | Yes |
| Predefined absolute symbols allowed in arithmetic expression | No | No | Yes |
| Predefined absolute symbols allowed in SETx instruction | No | No | Yes |
| Type attribute of CNOP Label is set to 'I' | No, set to 'J' | No, set to 'J' | Yes |
| Length, scaling and integer attribute allowed for ordinary symbols, SETC symbols and literals in open code | No | No | Yes |
| Sublists assigned to SETC symbols can be passed to macro definitions and be recognized as sublists | No | No | Yes |
[ Top of Page | Previous Page | Next Page | Contents | Index ]