NonStop S-Series Server Description Manual (G06.24+)
TNS Instruction Set
HP NonStop S-Series Server Description Manual—520331-003
11-24
Definitions of TNS Instructions
Condition Code settings; the “a” states apply for comparisons.)  Both operands are 
then deleted from the stack.
FDIV (000273). Floating-Point Divide. The floating-point quantity in DC is divided in 
floating-point form by the floating-point quantity in BA. Both operands are deleted and 
the result is pushed onto the stack. Overflow is set if the result falls outside the range 
of floating-point numbers. Condition Code is set on the result.
FMPY (000272). Floating-Point Multiply. The floating-point quantities in DC and BA 
are multiplied in floating-point form. Both operands are deleted, and the result is 
pushed onto the stack. Overflow is set if the result falls outside the range of floating-
point numbers. Condition Code is set on the result.
FNEG (000274). Floating-Point Negate. The floating-point quantity in BA (if not zero) 
is negated. The sign of BA is reversed from positive to negative or negative to 
positive, and the Condition Code reflects the final state of the sign (see Table B-1 on 
page B-1).
FSUB (000271). Floating-Point Subtract. The floating-point quantity in BA is negated, 
and then DC and BA are added in floating-point form. Both operands are deleted, and 
the result is pushed onto the stack. Overflow is set if the result falls outside the range 
of floating-point numbers. Condition Code is set on the result.
IADD (000210). Integer Add A to B. A is added to B in integer (signed) form. A and B 
are then deleted from the stack and the sum is pushed onto the stack. Overflow is set 
if the result is greater than 32767 or less than –32768. Condition Code is set.
ICMP (000215). Integer Compare B With A. B is compared to A in integer (signed) 
form and the Condition Code set accordingly. A and B are then deleted from the stack.
IDIV (000213). Integer (Signed) Divide B by A.  B is divided by A in integer (signed) 
form.  A and B are deleted from the stack and the result pushed on. Overflow is set if 
the divisor is zero, or if the result is greater than 32767 or less than –32768. Condition 
Code is set.
IDX1 (000344). Calculate Index, 1 Dimension. For a one-dimensional array, IDX1 
compares the subscript value in B against lower and upper bounds in a two-word table 
in the current code segment starting at the address specified in A. The element offset 
value is computed and stored in register R[7]. Condition Code is set based on the 
result in R[7]. If the subscript is out of bounds, overflow is set. BA is then deleted.
IDX2 (000345). Calculate Index, 2 Dimensions. For a two-dimensional array, IDX2 
compares the subscript values in B and C against lower and upper bounds in a four-
word table in the current code segment starting at the address in A. The element 
offset value is computed and stored in register R[7]. Condition Code is set based on 
the result in R[7]. If a subscript is out of bounds, overflow is set.  CBA is then deleted.
IDX3 (000346). Calculate Index, 3 Dimensions. For a three-dimensional array, IDX3 
compares the subscript values in B, C, and D against lower and upper bounds in a 
six-word table in the current code segment starting at the address in A. The element 
offset value is computed and stored in register R[7]. Condition Code is set based on 










