PR INTL acro PRINTL Use the PRINTL macro instruction to write a line to a virtual printer.
The format of the PRINTL macro instruction is:
r I [label] I PRINTL I line [,length] [,ERROR:erraddr] L . ____ -l label
line
is an optional statement label.
specifies the line to be printed. It may be: , linetext'
lineaddr
(reg)
text enclosed in quotation marks.
the symbolic address of the line.
a register containing the address of the line.
length specifies the length of the line to be printed.
It may be: (See Note 1.)
(reg)
n .. a register containing the length.
a self-defining term indicating the length. ERROR:erraddr specifies the address of an error routine to be given control
if an error is found. If ERROR: is not coded and an error
occurs, control returns to the next sequential instruction in
the calling program, as it does if no error occurs.
1. The maximum length allowed is 151 characters on a virtual 3211 or
133 characters on a virtual 1403 or 3203. If you do not specify
the length, it defaults to ljj characters, unless ilinetext
i
is
specified. In this case, the length is taken from the length of the
line text.
2 The first character of the line is
control character, which may be either
The valid ASA control characters are:
interpreted as a carriage ASA (ANSI) or machine code. B.gX l1ganing l1f 40 Space 1 line before printing 0 FO Space 2 lines before printing 60 Space 3 lines before printing
+ 4E Suppress space before printing
1 Fl Skip to channel 1
2 F2 Skip to channel 2
3 F3 Skip to channel 3 4 F4 Skip to channel 4 S F5 Skip to channel 5 6 F6 Skip to channel 6
7 F7 Skip to channel 7
8 F8 Skip to channel 8
9 F9 Skip to channel 9 A C1 Skip to channel 10 B C2 Skip to channel 11
C
C3 Skip to channel 12 330 VM/3
7 0
CMS Command and Macro Reference
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
Previous Page Next Page