Comparison of macro and conditional assembly statements

Element DOS/VSE Assembler Assembler H Version 2 High Level Assembler
Macro definition
MACRO Yes Yes Yes
MEND Yes Yes Yes
MEXIT Yes Yes Yes
Conditional assembly
ACTR Yes Yes Yes
AEJECT No No Yes
AGO Yes Yes Yes
AIF Yes Yes Yes
AINSERT No No Yes
ANOP Yes Yes Yes
AREAD No Yes Yes
ASPACE No No Yes
GBLA Yes Yes Yes
GBLB Yes Yes Yes
GBLC Yes Yes Yes
LCLA Yes Yes Yes
LCLB Yes Yes Yes
LCLC Yes Yes Yes
MHELP No Yes Yes
MNOTE Not allowed in open code Allowed in open code Allowed in open code
SETA Yes Yes Yes
SETB Yes Yes Yes
SETC Yes Yes Yes
SETAF No No Yes
SETCF No No Yes
System variable symbols
&SYSADATA_DSN No No Yes
&SYSADATA_MEMBER No No Yes
&SYSADATA_VOLUME No No Yes
&SYSASM No No Yes
&SYSCLOCK No No Yes
&SYSDATC No No Yes
&SYSDATE No Yes Yes
&SYSECT Yes Yes Yes
&SYSIN_DSN No No Yes
&SYSIN_MEMBER No No Yes
&SYSIN_VOLUME No No Yes
&SYSJOB No No Yes
&SYSLIB_DSN No No Yes
&SYSLIB_MEMBER No No Yes
&SYSLIB_VOLUME No No Yes
&SYSLIN_DSN No No Yes
&SYSLIN_MEMBER No No Yes
&SYSLIN_VOLUME No No Yes
&SYSLIST Yes Yes Yes
&SYSLOC No Yes Yes
&SYSM_HSEV No No Yes
&SYSM_SEV No No Yes
&SYSMAC No No Yes
&SYSNDX Up to maximum of 9999 Up to maximum of 9999999 Up to maximum of 9999999
&SYSNEST No No Yes
&SYSOPT_DBCS No No Yes
&SYSOPT_OPTABLE No No Yes
&SYSOPT_RENT No No Yes
&SYSOPT_XOBJECT No No Yes
&SYSPARM Yes Yes Yes
&SYSPRINT_DSN No No Yes
&SYSPRINT_MEMBER No No Yes
&SYSPRINT_VOLUME No No Yes
&SYSPUNCH_DSN No No Yes
&SYSPUNCH_MEMBER No No Yes
&SYSPUNCH_VOLUME No No Yes
&SYSSEQF No No Yes
&SYSSTEP No No Yes
&SYSSTMT No No Yes
&SYSSTYP No No Yes
&SYSTEM_ID No No Yes
&SYSTERM_DSN No No Yes
&SYSTERM_MEMBER No No Yes
&SYSTERM_VOLUME No No Yes
&SYSTIME No Yes Yes
&SYSVER No No Yes
Symbol attributes
Defined attribute No Yes Yes
Type attribute An ordinary symbol outside a macro cannot be used as an operand of the T' inside a macro and cannot be used to determine the type of a SETA or SETB variable.

Only allowed in conditional assembly instructions and not allowed for literals.

Yes; only allowed in conditional assembly instructions and not allowed for literals. Yes; allowed in conditional assembly, assembler, and machine instructions and literals.
Length attribute Yes; allowed in conditional assembly, assembler, and machine instructions and not allowed for literals. Yes; allowed in conditional assembly, assembler, and machine instructions and not allowed for literals. Yes; allowed in conditional assembly, assembler, and machine instructions and literals.
Scaling attribute Yes; only allowed in conditional assembly instructions and not allowed for literals. Yes; only allowed in conditional assembly instructions and not allowed for literals. Yes; allowed in conditional assembly, assembler, and machine instructions and literals.
Integer attribute Yes; only allowed in conditional assembly instructions and not allowed for literals. Yes; only allowed in conditional assembly instructions and not allowed for literals. Yes; allowed in conditional assembly, assembler, and machine instructions and literals.
Count attribute Can only be used to determine the length of a macro instruction operand Yes Yes
Number attribute Yes Can be applied to SETx variables Can be applied to SETx variables
Operation Code Data attribute No No Yes
Type and Count attribute for system variable symbols No Yes Yes
Type attribute for SETA symbols that are defined via LCLA or GBLA but are not set (via SETA) Not applicable Returns a value of '00' Returns a value of 'N'
Type attribute for SETB symbols that are defined via LCLB or GBLB but are not set (via SETB) Not applicable Issues an error message Returns a value of 'N'
Type attribute for macro instruction operands with a value of a previously used literal Not applicable Returns a value of 'U' Returns the Type attribute of the constant defined by the literal

[ Top of Page | Previous Page | Next Page | Contents | Index ]