This general macro obtains an available file storage record address from a
pool section of small records. The selection of a specific pool is
based on the specified record ID. The address of the file storage
record is stored in the file address reference word (FARW) of the specified
data level.
Format
Notes:
- dummy
- label
- A symbolic name can be assigned to the macro statement.
- Dx
- Specify an ECB data level (D0-DF).
- dummy
- This parameter is no longer required. However, it must be accounted
for by inserting the delimiting commas or a character such an L or S as
formerly required.
- record_id
- A 2-character record ID must be specified as parameter three. The
assembly program will use the given ID to generate the V-constant of the macro
expansion. The V-constant is resolved by the link editor
program. The resolution of this V-constant determines whether a long,
short, or duplicate address is dispensed.
Entry Requirements
- R9 must contain the address of the ECB being processed.
- The record ID used as record_id must have been made available to the
system allocator.
Return Conditions
- Control is returned to the next sequential instruction.
- The contents of R14 and R15 are unknown. The contents of all other
registers are preserved across this macro call.
- A record address is placed in the FARW of the specified data level.
Programming Considerations
- This macro can be run on any I-stream.
- The ECB reference register (R9) must contain the address of the ECB being
processed.
- Only one record address may be obtained at a time through this
macro. Separate requests must be made for each record address.
- All addresses obtained by a GETSC must ultimately be released by a RELFC
macro.
- No record address may be released twice.
- The GETSC macro may result in the equivalent of an implied WAITC.
- The record ID used as record_id must have been made available to the
system allocator.
- File pool addresses that are acquired in a global transaction (that is,
after a TXBGC macro call but before a TXCMC or TXRBC macro call) are released
if the transaction is rolled back using a TXRBC macro call.
Examples
GETSC D0,L,OM
The address and size of a storage block of type OM is put into the file
address reference word for data level D0. Whether the block is from the
long term pool or the short term pool depends on the definition of the OM
record returned. The L is merely a placeholder and has no other
meaning.