NonStop S-Series Server Description Manual (G06.24+)
TNS Instruction Set
HP NonStop S-Series Server Description Manual—520331-003
11-23
Definitions of TNS Instructions
the result falls outside the range of extended floating-point numbers. Condition Code 
is set on the result.
EMPY (000302). Extended Multiply. The extended floating-point quantities in HGFE 
and DCBA are multiplied in extended 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 extended floating-point numbers. Condition Code is set on the result.
ENEG (000304). Extended Negate. The extended floating-point quantity in DCBA 
(if not zero) is negated. The sign of DCBA is reversed from positive to negative or 
negative to positive. Overflow is cleared, and the Condition Code reflects the final state 
of the sign.
ESUB (000301). Extended Subtract. The extended floating-point quantity in HGFE is 
negated, and then HGFE and DCBA are added in extended 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 extended floating-point numbers. Condition Code is set 
on the result.
EXCH (000004). Exchange A and B. A and B of the register stack are interchanged. 
Condition Code is set on the result in A.
EXIT (125---). Exit From Procedure. This instruction is used to return from a 
procedure called by a PCAL, XCAL, or DPCL instruction. EXIT assumes L–2:L to 
contain a standard three-word stack marker consisting of P, ENV, and L.  (This copy of 
ENV includes the caller’s space ID index in bits 11:15.)  The address space mappings 
of relative segments 2 and 3 (current code segment and latest user code segment) are 
updated. Then S is moved below the current stack marker and any parameters by 
setting it with the “S decrement” value subtracted from the current L register setting. 
P is set to the return P value contained in L[–2] of the current stack marker. The caller’s 
ENV register value is set as follows: the mode (privileged or nonprivileged) and data 
area are reinstated to the lesser of the caller’s and the current settings (so a privileged 
calling process can be made nonprivileged on the return, but not vice versa); the 
calling process’s CS (code space), LS (library space), T (traps), V (overflow), and K 
(carry) bits are reinstated from L[–1]; Z and N (Condition Code) and RP are set to 
those of the current procedure. L is moved back to the preceding stack marker, 
thereby reinstating the preceding local data area, by setting L with the contents of the 
L[0] of the current stack marker. If bit 0 of the restored ENV is 1, a Debug breakpoint 
trap occurs. If the V and T bits of the restored ENV are both 1, an arithmetic overflow 
trap occurs.
FADD (000270). Floating-Point Add.  The floating-point quantities in DC and BA are 
added in floating-point form. Both operands are deleted, and the two-word result is 
pushed onto the stack. Overflow is set if the result falls outside the range of floating-
point numbers. (For the range of floating-point numbers, refer to Section 3, TNS Data 
Formats and Number Representations.) Condition Code is set on the result.
FCMP (000275). Floating-Point Compare. The Condition Code is set according to the 
comparison of DC (operand 1) with BA (operand 2).  (See Table B-1 on page B-1 for 










