SVC 93 (0A5D)

TPUT macro - is type 3, gets LOCAL and CMS locks.

GTF data is:
R15
Pointer to the USERID if specified. (See flag byte, bit 1 in register 1).
R0
Two high-order bytes contain the address space identifier (ASID) of the destination terminal. Two low-order bytes contain the size of the input buffer in bytes.
R1
The high-order is a flag byte; low-order bytes have the address of the buffer to hold line of output. Flag byte bit settings are:
     
1... .... TGET specified.
0... .... TPUT specified.
.1.. .... USERID specified by register 15.
..1. .... LOWP specified; the terminal will not receive any inter-terminal messages from non-supervisory routines if TSBITOFF is on, even if a key-zero task is sending messages. Can only be specified on TPUT with ASID or USERID.
..0. .... HIGHP specified; the terminal will receive inter-terminal messages if TSBITOFF is on. Can only be specified with ASID or USERID.
...1 .... NOWAIT specified; control should be returned to program that issued TPUT, whether or not TIOC buffers are available for the output line. If buffers are not available, a return code of 4 will be placed in register 15.
...0 .... WAIT specified; control will not be returned to the program that issued the TPUT until an output line has been placed in a TIOC output buffer. If no buffers are available, the issuing program will be put into a wait state until buffers do become available and the output line is placed in them.
.... 1... HOLD specified; the program that issued the TPUT cannot continue its processing until this output line has been either written to the terminal or deleted.
.... 0... NOHOLD specified; control should be returned to the program that issued the TPUT as soon as the output line has been placed on the output queue.
.... .1.. BREAKIN specified; output has precedence over input. If the user at the terminal is transmitting, he is interrupted, and this output line is sent. Any data that was received before the interruption is kept and displayed at the terminal following this output line.
.... .0.. NOBREAK specified; input has precedence over output. The output message will be placed on the output queue to be printed at some future time when the user is not entering a line.
.... ..10 CONTROL specified; the line is composed of terminal control characters and will not print or move the carriage on the terminal.
.... ..01 ASIS specified; normal minimal editing will be performed.
.... ..00 EDIT specified; further editing will be performed in addition to the normal ASIS editing.
.... ..11 FULSCR specified; no editing is performed.

GTF data for the execute and the standard extended form of TPUT macro is:

R0
The high order bit is set
R1
Pointer to a 4 word parameter list. The format is:
0-1
ASID if specified.
2-3
Buffer size.
4
Flag byte; bits are as follows.
     
1... .... TGET specified.
0... .... TPUT specified.
.1.. .... USERID specified.
..1. .... LOWP specified; the terminal will not receive any inter-terminal messages from non-supervisory routines if TSBITOFF is on, even if a key zero task is sending messages. Can only be specified on TPUT with ASID or USERID.
..0. .... HIGHP specified; the terminal will receive inter-terminal messages if TSBITOFF is on. Can only be specified with ASID or USERID.
...1 .... NOWAIT specified; control should be returned to the program that issued the TPUT, whether or not TIOC buffers are available for the output line. If buffers are not available, the TPUT SVC places a return code of 4 in register 15.
...0 .... WAIT specified; control will not be returned to the program that issued the TPUT macro, until an output line has been placed in a TIOC output buffer. If no buffers are available, the issuing program will be put into a wait state until buffers do become available and the output line is placed in them.
.... 1... HOLD specified; the program that issued the TPUT macro cannot continue processing until the issued output line has either been written to the terminal or deleted.
.... 0... NOHOLD specified; control should be returned to the program that issued the TPUT as soon as the output line has been placed on the output queue.
.... .1.. BREAKIN specified; output has precedence over input. If the user at the terminal is transmitting, he is interrupted, and this output line is sent. Any data that was received before the interruption is kept and displayed at the terminal following the output line.
.... .0.. NOBREAK specified; input has precedence over output. The output message will be placed on the output queue to be printed at some future time when the user is not entering a line.
.... ..10 Control specified; the line is composed of terminal control characters and will not print or move the carriage on the terminal.
.... ..01 ASIS specified; normal minimal editing will be performed.
.... ..00 EDIT specified; further editing will be performed in addition to the normal ASIS editing.
.... ..11 FULSCR specified; no editing is performed.
5-7
Buffer address.
8-11
USERID if specified.
12
Bits
     
1... .... End of list.
.111 11.. Reserved.
.... ..1. Reserved for TPG macro.
.... ...1 NOEDIT specified; indicates that the message will be transmitted completely unedited.
13-15
Reserved.