pTAL Reference Manual (G06.24+, H06.09+, J06.03+)
type
is any data type except UNSIGNED. The data type determines how much data the simple
pointer can access at a time—a byte, word, doubleword, or quadrupleword.
Indirection
., .EXT, .EXT32, .EXT64, .SG, and .SGX are indirection symbols (see Table 14 (page 41)).
identifier
is the identifier of the new simple pointer.
REFALIGNED
specifies the base alignment of the structures that the structure pointer will reference.
2
references a structure that might not be well-aligned.
8
indicates that the base of the structure and the fields in the structure are well aligned in memory
previous-identifier
is the identifier of a simple variable, array, substructure, or pointer previously declared in the
same structure. No index is allowed with this identifier.
Example 99 Simple Pointer Redefinition
STRUCT my_struct;
BEGIN
STRING var[0:5]; ! Simple variable
STRING .EXT ext_pointer = var; ! Redefine var as simple
! pointer, ext_pointer
END;
Structure Pointer
A structure pointer redefinition associates a new structure pointer with a previous item at the same
BEGIN-END level of a structure.
VOLATILE
specifies that the value of this variable must be maintained in memory, not in a register. Each
reference to a VOLATILE data item causes the data item to be read or written to memory even
when code is optimized. Based on the order of reads and writes in the source code, VOLATILE
Declaring Redefinitions 159