TAL Programmer's Guide
Declaring Arrays
Using Arrays
096254 Tandem Computers Incorporated 7–9
Allocating Indirect Arrays
You can declare global or local indirect arrays. Sublocal arrays cannot be indirectly
addressed.
For each standard indirect array, the compiler allocates space as follows:
1. It allocates a word of storage in the global (or local) primary area of the user data
segment for an implicit standard pointer.
2. It then allocates storage for each array in the global (or local) secondary area.
3. Finally, it initializes each implicit pointer (provided in step 1) with the 16-bit
address of the array. For a STRING array, the pointer contains a byte address. For
any other array, the pointer contains a word address.
For each extended indirect array, the compiler allocates space as follows:
1. It allocates a doubleword of storage in the global (or local) primary area of the user
data segment for an implicit extended pointer.
2. It then allocates storage for each extended array in an automatic extended data
segment.
3. Finally, it initializes each implicit pointer (provided in step 1) with the 32-bit byte
address of the array. The address is always an even-byte address.
If you declare arrays within BLOCK declarations, however, the compiler allocates
storage anywhere within the list of data blocks, as described in Section 14, “Compiling
Programs.”