Accelerator Manual Data Alignment Addendum

Misalignments in TNS and Accelerated Modes
Accelerator Manual Data Alignment Addendum524963-001
4-2
The varying behaviors and symptoms that misalignment errors cause can be
confusing, for the following reasons:
A source program can produce erroneous TNS object code that seems to execute
correctly until you change the source program in an apparently innocent way.
The program might behave differently in TNS mode than it does in accelerated
mode. (Neither mode is better at avoiding alignment problems.)
The debugger might display a different value for a variable than the program sees,
because the debugger never “rounds down” addresses.
The program might “round down” addresses for storage operations but not for
subsequent retrieval operations of the same misaligned operand (or the reverse).
To avoid these confusing behaviors:
Use pointer conversions as recommended for the source code language so that
TNS word instructions are never applied to odd-byte addresses.
Set the system’s SCF attribute TNSMISALIGN to either FAIL or NOROUND (see
Table 3-1 on page 3-1). FAIL can be unsafe on production systems, but is
recommended on test systems.