Use this system macro to create an entry in the user storage allocation
table (USAT). The system initializer (CT26) uses the contents of the
USAT to carve user space in main storage. The USAT information is used
only when the CCCTIN user exit is active. The table is mapped by the
DSECT IUSAT.
See TPF System Installation Support Reference for
more information about the CCCTIN user exit.
Format
- TAG=ccc
- Specifies the 3-character dump tag used to identify this area of
storage. This parameter is required.
- TAGF=xx
- Specifies the 2-hex digit format indicator. This parameter is
optional. The default is 00. The format indicators are described
in the code for the DLTEC macro.
- SIZE=n
- The size, in number of bytes, of the area to be allocated. If size
is set to zero, ALLOCATE is set to NO. The parameter is optional and
the default is 0.
The area is allocated by CT26 so that it starts and ends on a 4 KB
boundary. Aligning the area on 4 KB gives users the ability to key
protect their tables.
- LOC
- The location where storage is allocated.
- HIGH
- Indicates that the area resides in storage above 16 MB.
- LOW
- Indicates the area resides in storage below 16 MB.
The default is 31BIT.
- ALLOCATE=YES|NO
- Indicates whether or not the area is to be allocated. ALLOCATE=NO
can be used to define spare USAT slots. The default is YES.
Spare table slots allow new user areas to be created by manipulating the
table size using ZAPGM and then reinitializing the TPF system.
- KEYWORD=keyword
- Specifies the keyword used to identify the area of storage on the IDOTB
macro and the ZIDOT command. The default is no keyword.
- CINFC=interface_label
- Specifies the label used to identify the associated CINFC entry.
The default is no label. The label must be defined in UCNFEQ.
- END
- Specifies the end of the USAT build sequence. When specified, this
parameter is the only one invoked; other parameters are ignored.
- Note:
- If the END parameter is not coded, the TPF system interprets material
following proper table entries as though they were also table entries.
This results in unpredictable behavior.
Entry Requirements
None.
Return Conditions
Control is returned to the next sequential instruction (NSI).
Programming Considerations
- Inline code is generated.
- The CINFC tag CMUSER points at the beginning of the table.
- This macro can be run on any I-stream.
Examples
The following example shows three entries being built in an allocation
table. The table created by the three USATC calls is represented by the
following.
- The following call defines and allocates 32 MB of user storage below 16 MB
with a dump tag (TL1), a IDOTB keyword (MYTBL), and a CINFC keyword
(UMMYTBL).
USATC TAG=TL1, Dump tag TL1
SIZE=32000, 32K user area
LOC=LOW, Allocated below the 16MB
KEYWORD=MYTBL, IDOTB keyword is MYTBL
CINFC=UMMYTBL, Reference label is UMMYTBL
- The next call defines a USAT slot above 16 MB but without allocating
it. This is a dummy slot. Such a slot might be used
during development that is not ready to be activated.
USATC TAG=TL2, Dump tag TL2
SIZE=40000, 40K user area
LOC=HIGH, Defined above 16MB
ALLOCATE=NO, But the area is not allocated
KEYWORD=HITBL1, IDOTB keyword is HITBL1
CINFC=UMHITBL1 Label is UMHITBL1
- This allocates a spare entry with SP1 as the its tag. When SIZE=0
(the default), the ALLOCATE parameter is NO.
USATC TAG=SP1 Defines a spare entry
- This ends a series of USATC specifications. An END parameter must
conclude the USATC calls.
USATC END Indicates the end of the USAT build