General
Application areas: | Requesting and accessing lists and tables; see "Requesting and accessing lists and tables"Input/output; see "Input/output" |
Macro type: | Type O; see "O-type macros" |
The description applies to TIAM V13.2A.
The CUPAB macro may be used only in 24-bit addressing mode.
In 31-bit addressing mode, the form MF=F/D of the appropriate input/output macro (RDATA, WROUT, WRTRD) must be used.
Macro description
The CUPAB macro (Communication User PArameter Block) macro allows the user to address symbolically the fields and flags in the operand lists for the RDATA, WROUT and WRTRD macros. For this purpose, CUPAB generates a dummy section (DSECT) for the operand list with 24-bit addresses.
Macro format and description of operands
[name] CUPAB |
D |
name
When this entry is specified, it is used as the DSECT name. When it is omitted, CUPAB is automatically generated as the DSECT name.
D
D generates a dummy section (DSECT) for the operand list. When this operand is omitted, an MNOTE message is issued.
DSECT generation is not affected.
The field names generated by the macro and their characteristics are as follows:
RDATA operand table:
Field Name
Byte
Meaning
CURAREAW
0 - 3
Input edit option byte 1.
CUREDIT1
0
Input edit option byte 1.
CURAREA
1 - 3
Address of user input area (in CURAREAW).
CURFTB
4
Flag
CUREDIT2
5
Input edit option byte 2.
CURALEN
6 - 7
Length of user input area.
CURERRW
8 - 11
Full word containing CURACI and CURERROR.
CURACI
8
Assignment change indicator for SYSDTA
CURERROR
9 - 11
Error address (in CURERRW).
L@RDATAB
Length of RDATA operand table.
WROUT
operand table:
Field Name
Byte
Meaning
CUWMSGW
0 - 3
Full word containing CUWEDIT1 and CUWMSG.
CUWEDIT1
0
Output edit option byte 1.
CUWMSG
1 - 3
Address of the message in the user program.
CUWERRW
4 - 7
Full word containing CUWEDIT2 and CUWERROR.
CUWEDIT2
4
Output edit option byte 2.
CUWERROR
5 - 7
Error address.
L@WROUTB
Length of the WROUT operand table.
WRTRD
operand table:
Field Name
Byte
Meaning
CUBMSGW
0 - 3
Full word containing CUBOEDT1 and CUBMSG.
CUBOEDT1
0
Output edit option byte 1.
CUBMSG
1 - 3
Address of message output area.
CUBAREAW
4 - 7
Full word containing CUBIEDT1 and CUBAREA.
CUBIEDT1
4
Input edit option byte 1.
CUBAREA
5 - 7
Input area address.
CUBOEDT2
8
Output edit option byte 2.
CUBIEDT2
9
Input edit option byte 2.
CUBALEN
10 - 11
Length of user input area.
CUBERRW
12 - 15
Full word containing CUBERROR.
reserviert
12
-
CUBERROR
13 - 15
Error address.
L@WRTRDB
Length of the WRTRD operand table.
Symbolic constants for edit bytes 1 and 2
As well as defining field names for the RDATA, WROUT and WRTRD operand tables, CUPAB also defines symbolic constants for the values of the edit, edit1 and edit2 operands.
The following tables provide an overview of the names of the symbolic constants defined by CUPAB, their current values and equivalent symbolic edit operands when MODE is specified, and also indicate whether or not they are valid in the various modes.
Output edit option byte 1
CUPAB name | Bit | Corresponding | valid (X) or mandatory (1) | |||
COMP | LINE | FORM | PHYS | |||
| 20 |
| X | 0 | 0 | 0 |
| 21 |
| X | 0 | 1 | 1 |
22 |
| 0 | 1 | 0 | 1 | |
| 23 |
| X | 0 | 0 | 0 |
| 24 |
| 0 | X | 0 | 0 |
| 25 |
| X | 0 | 0 | 0 |
26 |
| 0 | 0 | 1 | 1 | |
| 27 |
| X | X | 0 | X |
Output edit option byte 2
CUPAB name | Bit | Corresponding | valid (X) or mandatory (1) | |||
COMP | LINE | FORM | PHYS | |||
| 20 |
| X | 0 | 1 | X |
| 21 |
| 0 | X | 0 | 0 |
| 22 |
| 0 | X | 0 | 0 |
| 23 |
| 0 | X | 0 | 0 |
24 |
| 0 | 0 | 0 | 0 | |
| 25 |
| 0 | X | 0 | 0 |
| 25 |
| 0 | 0 | 0 | X |
| 26 |
| 0 | X | 0 | 0 |
| 27 |
| 0 | 0 | 0 | X |
Input edit option byte 1)
CUPAB name | Bit | Corresponding | valid (X) or mandatory (1) | |||
COMP | LINE | FORM | PHYS | |||
| 20 |
| X | 0 | 0 | X |
| 21 |
| X | 0 | 1 | 1 |
| 22 |
| X | X | X | X |
| 23 |
| X | 0 | 0 | 0 |
| 24 |
| X | X | X | X |
25 |
| 0 | 1 | 0 | 1 | |
26 |
| 0 | 0 | 1 | 1 | |
| 27 |
| X | 0 | 1 | X |
Input edit option byte 2
CUPAB name | Bit | Corresponding | valid (X) or mandatory (1) | |||
COMP | LINE | FORM | PHYS | |||
| 20 |
| 0 | X | 0 | 0 |
21 |
| 0 | 0 | 0 | 0 | |
| 22 |
| 0 | X | 0 | 0 |
| 23 |
| 0 | X | 0 | 0 |
24 |
| 0 | 0 | 0 | 0 | |
| 25 |
| 0 | X | 0 | 1 |
26 |
| 0 | 0 | 0 | 0 | |
27 |
| 0 | 0 | 0 | 0 |
The following applies to operands where bits are not reserved:
MODE operand | Associated bit |
| set (1) |
| reset (0) |
For the meaning of the MODE operands (and the associated bits of the input and output edit option bytes) refer to the operand descriptions for the RDATA, WROUT and WRTRD macros.