HLASM Language Reference
HLASM Language Reference HLASM Language Reference
COPY Instruction sequence_symbol is a sequence symbol. number_of_lines is a non-negative decimal integer that specifies the number of lines to be left blank. If number_of_lines is omitted, one line is left blank. If number_of_lines has a value greater than the number of lines remaining on the listing page, the instruction has the same effect as an AEJECT statement. Notes: 1. The ASPACE instruction can only be used inside a macro definition. 2. The ASPACE instruction itself is not printed in the listing. 3. The ASPACE instruction does not affect the listing of statements generated when the macro is called. COPY Instruction The COPY instruction, inside macro definitions, lets you copy into the macro definition any sequence of statements allowed in the body of a macro definition. These statements become part of the body of the macro before macro processing takes place. You can also use the COPY instruction to copy complete macro definitions into a source module. The specifications for the COPY instruction, which can also be used in open code, are described in “COPY Instruction” on page 122. MEXIT Instruction The MEXIT instruction provides an exit for the assembler from any point in the body of a macro definition. The MEND instruction provides an exit only from the end of a macro definition (see “MEND Statement” on page 245 for details). The MEXIT instruction statement can be used only inside macro definitions. ►►──┬─────────────────┬──MEXIT─────────────────────────────────────►◄ └─sequence_symbol─┘ sequence_symbol is a sequence symbol. The MEXIT instruction causes the assembler to exit from a macro definition to the next sequential instruction after the macro instruction that calls the definition. (This also applies to nested macro instructions, which are described in “Nesting Macro Instruction Definitions” on page 311.) For example, the following macro definition contains an MEXIT statement: 260 HLASM V1R5 Language Reference
Comment Statements MACRO EXITS DC DC DC MEXIT DC DC DC MEND C'A' C'B' C'C' C'D' C'E' C'F' When the macro definition described above is called, the following statements are generated: EXITS + DC C'A' + DC C'B' + DC C'C' Comment Statements Two types of comment statements can be used within a macro definition: Ordinary comment statements Internal macro comment statements Ordinary Comment Statements Ordinary comment statements let you make descriptive remarks about the generated output from a macro definition. Ordinary comment statements can be used in macro definitions and in open code. An ordinary comment statement consists of an asterisk in the begin column, followed by any character string. The comment statement is used by the assembler to generate an assembler language comment statement, just as other model statements are used by the assembler to generate assembler statements. No variable symbol substitution is done. Internal Macro Comment Statements You can also write internal macro comments in the body of a macro definition to describe the operations done during conditional assembly when the macro is processed. An internal macro comment statement consists of a period in the begin column, followed by an asterisk, followed by any character string. No values are substituted for any variable symbols that are specified in internal macro comment statements. Internal macro comment statements may appear anywhere in a macro definition. Notes: 1. Internal macro comments are not generated. 2. The comment character string may contain double-byte data. 3. Internal macro comment statements can be used in open code, however, they are processed as ordinary comment statements. Chapter 7. How to Specify Macro Definitions 261
- Page 230 and 231: REPRO Instruction NOPRINT instructs
- Page 232 and 233: RSECT Instruction 4. AMODE or RMODE
- Page 234 and 235: START Instruction START Instruction
- Page 236 and 237: TITLE Instruction The name value is
- Page 238 and 239: USING Instruction Only the characte
- Page 240 and 241: USING Instruction Base Registers fo
- Page 242 and 243: USING Instruction If register 0 is
- Page 244 and 245: USING Instruction A variable symbo
- Page 246 and 247: USING Instruction In this MVC instr
- Page 248 and 249: USING Instruction Range of a Depend
- Page 250 and 251: XATTR Instruction external_symbol i
- Page 252 and 253: XATTR Instruction SCOPE ►►─
- Page 254 and 255: XATTR Instruction 234 HLASM V1R5 La
- Page 256 and 257: Part 3. Macro Language &SYSDATC Sys
- Page 258 and 259: Introduction to Macro Language Chap
- Page 260 and 261: Introduction to Macro Language The
- Page 262 and 263: Introduction to Macro Language Macr
- Page 264 and 265: MACRO and MEND Statements The assem
- Page 266 and 267: Prototype Statement Macros that are
- Page 268 and 269: Model Statements generated from tha
- Page 270 and 271: Model Statements ▌5▐ ▌6▐
- Page 272 and 273: Model Statements Notes: 1. You can
- Page 274 and 275: Positional Parameters Symbolic para
- Page 276 and 277: Processing Statements Processing St
- Page 278 and 279: AREAD Instruction Assign Local Time
- Page 282 and 283: System Variable Symbols System Vari
- Page 284 and 285: &SYSADATA_MEMBER System Variable Sy
- Page 286 and 287: &SYSCLOCK System Variable Symbol &S
- Page 288 and 289: &SYSECT System Variable Symbol depe
- Page 290 and 291: &SYSIN_MEMBER System Variable Symbo
- Page 292 and 293: &SYSJOB System Variable Symbol &SYS
- Page 294 and 295: &SYSLIN_DSN System Variable Symbol
- Page 296 and 297: &SYSLIST System Variable Symbol The
- Page 298 and 299: &SYSLOC System Variable Symbol To
- Page 300 and 301: &SYSM_SEV System Variable Symbol &S
- Page 302 and 303: &SYSNDX System Variable Symbol The
- Page 304 and 305: &SYSOPT_DBCS System Variable Symbol
- Page 306 and 307: &SYSPARM System Variable Symbol Not
- Page 308 and 309: &SYSPRINT_MEMBER System Variable Sy
- Page 310 and 311: &SYSPUNCH_MEMBER System Variable Sy
- Page 312 and 313: &SYSSTEP System Variable Symbol Not
- Page 314 and 315: &SYSTERM_DSN System Variable Symbol
- Page 316 and 317: &SYSTIME System Variable Symbol Not
- Page 318 and 319: Macro Instruction Format sequence_s
- Page 320 and 321: Macro Instruction Format Operand En
- Page 322 and 323: Macro Instruction Format When you n
- Page 324 and 325: Sublists in Operands the order in w
- Page 326 and 327: Sublists in Operands &SYSLIST( n,m)
- Page 328 and 329: Values in Operands Notes: 1. Spaces
COPY Instruction<br />
sequence_symbol<br />
is a sequence symbol.<br />
number_of_lines<br />
is a non-negative decimal integer that specifies the number of lines to be left<br />
blank. If number_of_lines is omitted, one line is left blank. If number_of_lines<br />
has a value greater than the number of lines remaining on the listing page, the<br />
instruction has the same effect as an AEJECT statement.<br />
Notes:<br />
1. The ASPACE instruction can only be used inside a macro definition.<br />
2. The ASPACE instruction itself is not printed in the listing.<br />
3. The ASPACE instruction does not affect the listing of statements generated<br />
when the macro is called.<br />
COPY Instruction<br />
The COPY instruction, inside macro definitions, lets you copy into the macro<br />
definition any sequence of statements allowed in the body of a macro definition.<br />
These statements become part of the body of the macro before macro processing<br />
takes place. You can also use the COPY instruction to copy complete macro<br />
definitions into a source module.<br />
The specifications for the COPY instruction, which can also be used in open code,<br />
are described in “COPY Instruction” on page 122.<br />
MEXIT Instruction<br />
The MEXIT instruction provides an exit for the assembler from any point in the<br />
body of a macro definition. The MEND instruction provides an exit only from the<br />
end of a macro definition (see “MEND Statement” on page 245 for details).<br />
The MEXIT instruction statement can be used only inside macro definitions.<br />
►►──┬─────────────────┬──MEXIT─────────────────────────────────────►◄<br />
└─sequence_symbol─┘<br />
sequence_symbol<br />
is a sequence symbol.<br />
The MEXIT instruction causes the assembler to exit from a macro definition to the<br />
next sequential instruction after the macro instruction that calls the definition. (This<br />
also applies to nested macro instructions, which are described in “Nesting Macro<br />
Instruction Definitions” on page 311.)<br />
For example, the following macro definition contains an MEXIT statement:<br />
260 <strong>HLASM</strong> V1R5 <strong>Language</strong> <strong>Reference</strong>