TAL Reference Manual
Compiler Directives
TAL Reference Manual—526371-001
16-55
INT32INDEX Directive
INT32INDEX Directive
INT32INDEX generates INT(32) indexes from INT indexes for accessing items in an 
extended indirect structure in a D-series program.
The default is NOINT32INDEX.
Usage Considerations
This directive can appear in the compilation command or any number of times in a D-
series compilation unit.
INT32INDEX turns the INT32INDEX setting on for subsequent declarations. 
NOINT32INDEX turns the INT32INDEX setting off for subsequent declarations. Such 
declarations retain their INT32INDEX or NOINT32INDEX attribute throughout the 
compilation.
PUSHINT32INDEX pushes the current INT32INDEX setting onto the directive stack 
without changing the current setting.
POPINT32INDEX removes the top value from the directive stack and sets the current 
INT32INDEX setting to that value.
INT32INDEX
INT32INDEX generates an INT(32) index from an INT index for a structure item in an 
extended indirect structure. INT32INDEX thus produces a correct extended offset even 
when the word offset of the structure field (from the zeroth structure occurrence) is 
greater than the signed INT range (–32,768 through 32,767). (For a STRING item or a 
substructure, the byte offset must be in this range.)
INT32INDEX overrides the INHIBITXX or NOINHIBITXX directive.
NOINT32INDEX
NOINT32INDEX produces code that is faster than that produced by INT32INDEX, but 
it produces an incorrect extended offset when the offset of the structure field is outside  
the signed INT range. In such cases, you must use INT(32) indexing as discussed in 
Section 8, “Using Structures,” in the 
TAL Programmer’s Guide.
VST1634.vsd
POPINT32INDEX
PUSHINT32INDEX
NOINT32INDEX
INT32INDEX










