PRINTL, PUNCHC Macros 3. Het codes X'Cl' and X'C3' are used in both machine code and ASA coie. CMS recognizes these codes as ASA control characters, not as
machine control characters. 4. If the line does not begin with a valid carriage control character,
the line is printed with a write command to space one line before
printing (ASA X'40'). 5. When the macro completes, register 15 may contain a 2 or a 3,
indicating that a channel 9 or channel 12 punch was sensed,
respectively. You can use these codes to determine whether the end
of the page is near (channel 9), or if the end of the page has been
reached (channel 12). You might want to check for these codes if you want to print particular information at the bottom or at the end of each page being printed. When the channel 9 or channel 12 punch is sensed, the write
operation terminates after carriage spacing but before writing the
line. If you want to write the line without aaditional space, you
must modify the carriage control character in the buffer to a code
that writes without spacing (ASA code + or machine code 01). 6. You must issue the CP CLOSE command to close the virtual printer
file. Issue the CLOSE command either from your program (using an SVC 202 instruction or a LINEDIT macro instruction) or from the CMS environment after your program completes execution. The printer is
automatically closed when you log off or when you use the CMS PRINT command.
7. The PRINTL macro does not perform a forms control buffer load. if
the spooled virtual printer is a 3203 or 3211, no virtual FCB image
has been previously loaded for this virtual printer. A default FCB
will be used. The default FCB is documented in the for If an error occurs register 15 contains one of the following error
codes: 1
2
3
4
5 100 Line too long
Channel 9 punch sensed (virtual 3203 or 3211 only) Channel 12 punch sensed (virtual 3203 or 3211 only)
Intervention required Unknown error Printer not attached
PUNCHC Use the PUNCHC macro instruction to write a line to a virtual card
punch. The format of the PUNCHC macro instruction is:
r------
, , [label] I PUNCHCI line [,EBROB=erraddr] , , ___________________________ . __________________________ -J label is an optional statement label.
Section 6. eMS Macro Instructions 331
PUNCHC Macro
line specifies the line to be punched. It may be:
'linetext'
lineaddr
(reg)
text enclosed in quotation marks.
the symbolic address of the line.
a register containing the address of the liRe. ERROR=erraddr specifies the address of an error routine to be given control
if an error is found. If ERROR= is not coaed and an error
occurs, control returns to the next sequential instruction in
the calling program, as it does if no error occurs.
1. No stacker selecting is allowed. The line length must be 80 characters.
2. You must issue the CP CLOSE command to close the virtual punch Issue the CLOSE command either from your program (using an SV: 202 instruction) or from the CMS environment when your program
completes execution. The punch is closed automatically when you log
off or when vou use the CMS PUNCH command.
If an error occurs, register 15 contains one of the following error
codes: 2
3 100 Unit check Unknown error
Punch not attached
332 IBM VM/370 CMS Command and Macro Reference
Previous Page Next Page