Object Code Accelerator Manual

Object Code Accelerator Manual528144-003
2-1
2 Preparing Your Program for
TNS/E Systems
Most TNS programs written for the HP NonStop operating system run on TNS/E
systems without modification. Variances between TNS and TNS/E systems, however,
might require modification in some programs, particularly low-level TAL programs.
This section steps you through:
General Considerations on page 2-1, discusses hardware and software release
issues that affect moving programs between any two different models of HP
NonStop systems.
Variances in TNS and Accelerated Code on page 2-4 discusses the changes you
must make to programs because of variances between TNS and TNS/E systems.
Data Alignment in TNS and Accelerated Code on page 2-13 discusses the data
alignment requirements for TNS code and the OCA. It also describes how to use
the Misalignment Tracing Facility diagnostic tool.
General Considerations
This section discusses hardware and software release issues that affect moving
programs between any two different models of HP NonStop systems. You must
consider these issues when you prepare a program to run on TNS/E systems, whether
or not you plan to accelerate the program. These issues include results after an
overflow, checking segment limits, segment length, and supported operating system
releases.
Results After an Overflow
Multiplication and division results after an overflow are undefined on all HP systems.
Each HP system generates different overflow results depending on the specific
hardware and algorithms used for the operation. Do not depend upon overflow results
being the same on TNS/E systems as they are on TNS systems.
All TNS instructions for integer multiplication and division operations (except the LMPY
instruction) on TNS/E systems have undefined and incompatible TNS overflow results:
IDIV DDIV QDIV LDIV
IMPY DMPY QMPY
All TNS instructions for addition and subtraction operations and the LMPY instruction
have compatible overflow results on all TNS and TNS/E systems:
IADD DADD QADD LMPY
ISUB DSUB QSUB
INEG DNEG QNEG