pTAL Guidelines for TAL Programmers

Overview
pTAL Guidelines for TAL Programmers527256-002
1-6
Unsupported TAL Features
Finally, TAL does little integrity checking when you store an address into a pointer. You
must ensure, therefore, that the address you store into a pointer references the correct
offset in the correct data area. In TAL, you can store any value in any pointer provided
only that the length of the value is the same as the length of the pointer—16 bits or 32
bits.
Unsupported TAL Features
Not all TAL features are supported in pTAL. For some features, pTAL supplies other
means to obtain the same functionality. For example, although pTAL does not support
CODE statements, it provides alternate features for those CODE statements whose
functionality is needed and for which the functionality is otherwise unavailable.
For other features you might need to change your algorithms. For example, pTAL does
not provide an alternative for STACK or STORE statements. TAL features in this
category include:
CODE statements
STACK and STORE statements
G-relative, L-relative, and S-relative addresses
Reading or writing the stack marker
Reading or writing the environment (ENV) register
Reading or writing a variable or extensible procedure’s parameter mask and
parameter count
Arithmetic left shift operations
Dynamic procedure calls (CODE (DPCL))
Returning $CARRY or $OVERFLOW from procedures
For details, see Section 2, Coding Guidelines.
Restricted TAL Features
For some TAL features, pTAL supports only a restricted subset of the TAL functionality.
These include:
Testing hardware indicators (carry, overflow, condition code)
Returning the condition code (CCL, CCE, CCG) from procedures
Depending on the memory location of variables
Equivalencing variables
Using PROC formal parameters
Using signed and unsigned arithmetic operations
Using address conversions
Using address arithmetic
Using shift operators
Assigning addresses to pointers