11.07.2015 Views

HLASM: V1R6 Language Ref

HLASM: V1R6 Language Ref

HLASM: V1R6 Language Ref

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Levels of macro call nesting&SYSM_SEV Provides the highest MNOTE severity code from the nested macromost recently called.The local system variable symbols are given read-only values each time a macrodefinition is called.The following system variable symbols can be affected by the position of a macroinstruction in code or the operand value specified in the macro instruction:&SYSCLOCK The assembler assigns &SYSCLOCK the constant string valuerepresenting the TOD clock value at the time at which a macro callis made. The time portion of this value is precise to themicrosecond. For any inner macro call, the value assigned to&SYSCLOCK differs from that of its parent.&SYSECT The assembler gives &SYSECT the character string value of thename of the control section in use at the point at which a macrocall is made. For a macro definition called by an inner macro call,the assembler assigns to &SYSECT the name of the control sectionin effect in the macro definition that contains the inner macro call,at the time the inner macro is called.If no control section is generated within a macro definition, thevalue assigned to &SYSECT does not change. It is the same for thenext level of macro definition called by an inner macro instruction.&SYSLIB_DSN, &SYSLIB_MEMBER, &SYSLIB_VOLUMEThe assembler assigns the character string value of the &SYSLIBsystem variable symbols at the point at which a macro is called.For an inner macro call whose definition is from a library member,these values may differ, if this is the first time this macro isinvoked.&SYSLIST If &SYSLIST is specified in a macro definition called by an innermacro instruction, &SYSLIST refers to the positional operands ofthe inner macro instruction.&SYSLOC The assembler gives &SYSLOC the character string value of thename of the location counter in use at the point at which a macrois called. For a macro definition called by an inner macro call, theassembler assigns to &SYSLOC the name of the location counter ineffect in the macro definition that contains the inner macro call. Ifno LOCTR or control section is generated within a macrodefinition, the value assigned to &SYSLOC does not change. It isthe same for the next level of macro definition called by an innermacro instruction.&SYSNDX The assembler increments &SYSNDX by one each time itencounters a macro call. It retains the incremented valuethroughout the expansion of the macro definition called, that is,within the local scope of the nesting level.&SYSNEST The assembler increments &SYSNEST by one each time itencounters a nested macro instruction. It retains the incrementedvalue within the local scope of the macro definition called by theinner macro instruction. Subsequent nested macro instructionscause &SYSNEST to be incremented by 1. When the assemblerexits from a nested macro it decreases the value in &SYSNEST by1.Chapter 8. How to write macro instructions 313

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

Saved successfully!

Ooh no, something went wrong!