NonStop S-Series Server Description Manual (G06.27+)
TNS Data Formats and Number Representations
HP NonStop S-Series Server Description Manual—520331-004
3-4
TNS Data Formats
TNS Data Formats
The available TNS data element sizes are single bytes, two-byte words, four-byte 
doublewords, and eight-byte quadruplewords. Signed integer data formats are 
available as word, doubleword, and quadrupleword elements. Floating-point data 
formats are available as doubleword and quadrupleword elements. See Figure 3-2.
The instruction set of all NonStop processors supports individual access to and 
operations on 8-bit bytes, 16-bit TNS words, 32-bit TNS doublewords, and 64-bit TNS 
quadruplewords. The figure on the facing page shows all of these data formats, plus 
the legacy TNS floating-point and extended floating-point data formats.
A 16-bit TNS word can be a signed integer, an unsigned integer, a short pointer for 
addressing within a particular memory segment, or a TNS instruction. As indicated in 
the Figure 3-2, a TNS word is equivalent to two bytes.  In TNS or accelerated 
execution modes, all TNS word operands must begin at two-byte memory boundaries 
for TNS instructions to operate correctly. In native execution mode, 16-bit operands 
can begin at any byte, but there is a large performance penalty if the operand is not 
aligned to a two-byte memory boundary.
A TNS doubleword can be a 32-bit signed integer, a 32-bit extended address, a 
single-precision floating-point number, or a RISC instruction. A TNS doubleword is 
equivalent to four bytes. In TNS or accelerated execution modes, all TNS doubleword 
operands must begin at a two-byte memory boundary for correct execution, and there 
is no benefit to four-byte alignment. In native execution mode, 32-bit operands can 
begin at any byte, but there is a large performance penalty if the operand is not fully 
aligned to a four-byte memory boundary.
A TNS quadrupleword can be a 64-bit signed integer, a fixed-point number 
represented as a 64-bit signed integer with an assumed scale factor (radix point) fixed 
at compile time, or an extended-precision TNS floating-point number. A 
quadrupleword is equivalent to four TNS words or eight bytes. In TNS or accelerated 
execution modes, all TNS quadrupleword operands must bein at a two-byte memory 
boundary for correct execution, and there is no benefit to four-byte or eight-byte 
alignment. In native execution mode, 64-bit operands can begin at any byte, but there 
is a large performance penalty if the operand is not fully aligned to an eight-byte 
boundary.
The single-precision and extended-precision floating-point formats are shown here for 
comparison and are discussed in Instructions for Decimal and Floating-Point Arithmetic 
on page 3-10.










