NonStop S-Series Server Description Manual (G06.27+)
TNS Instruction Set
HP NonStop S-Series Server Description Manual—520331-004
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