TAL Programmer's Guide

Parameter Masks
Using Procedures
11–42 096254 Tandem Computers Incorporated
EXTENSIBLE
Parameter Masks
When a procedure calls an EXTENSIBLE procedure, the compiler provides a
parameter mask and keeps track of which actual parameters are passed to the
procedure.
The format of the EXTENSIBLE parameter mask differs from the format of the
VARIABLE parameter mask.
When an EXTENSIBLE procedure is called, the compiler:
1. Allocates storage for each formal parameter in the called procedure’s parameter
area
2. Generates a one-word to eight-word parameter mask, depending on how many
words must be allocated to hold the formal parameters
3. Initializes the mask bits to 0
4. Allocates storage for the mask in the called procedure’s parameter area as follows:
Location L[–4] for the lowest order word of the mask, location L[–5] for the
second lowest order word if needed, and so on
Location L[–3] for the number of words of parameters in its negative form
6. Associates each word of the formal parameters with a bit in the mask, left justified,
so that the highest order word of the first parameter corresponds to bit <0> of the
lowest order word of the mask
7. Sets the bits associated with each passed parameter word to 1