NonStop S-Series Server Description Manual (G06.27+)
TNS Instruction Set
HP NonStop S-Series Server Description Manual—520331-004
11-36
Definitions of TNS Instructions
QADD (000240). Quadruple Add. The two quadrupleword integers contained in
HGFE and DCBA are added in quadrupleword integer form. Both operands are
deleted, and the quadrupleword result is pushed onto the stack. Overflow is set if the
result is greater than 2
63
–1 or less than –2
63
. Carry can be set, and Condition Code is
set on the result.
QCMP (000245). Quadruple Compare. The Condition Code in the Environment
register is set according to the quadruple integer comparison of HGFE (operand 1) and
DCBA (operand 2). (See Table B-1 on page B-1 for Condition Code settings; the “a”
states apply for compares.) Both operands are then deleted from the stack.
QDIV (000243). Quadruple Divide. The quadrupleword integer contained in HGFE is
divided in quadrupleword integer form by the quadrupleword integer in DCBA. Both
operands are deleted, and the quadrupleword result is pushed onto the stack.
Overflow is set if the divisor (DCBA) is zero. Condition Code is set.
QDWN (00025-). Quadruple Scale Down. The operand value in DCBA is divided by a
specified power of ten (1, 2, 3, or 4), and the new value replaces the former contents of
DCBA. Condition Code is set, and the Overflow bit is cleared. For binary coding
details, refer to Table B-6 on page B-7.
QLD (00023-). Quadruple Load. The quadrupleword operand contained in the
effective memory location indicated by A plus 4 times the index value is fetched. A is
deleted, and the fetched quadrupleword is pushed onto the stack. No indexing occurs
for code 000234. For code 000235, 000236, or 000237, indexing for the effective
address uses register R[5], R[6], or R[7], respectively. Condition Code is set on the
loaded quadrupleword. For binary coding details, refer to Table B-6 on page B-7.
QMPY (000242). Quadruple Multiply. The quadrupleword integer contained in HGFE
is multiplied in quadrupleword integer form by the quadrupleword integer in DCBA.
Both operands are deleted, and the quadrupleword result is pushed onto the stack.
Overflow is set if the result is greater than 2
63
–1 or less than –2
63
. Carry can be set,
and Condition Code is set on the result.
QNEG (000244). Quadruple Negate. The quadrupleword integer contained in DCBA
is replaced with its two’s complement. Overflow is set if the original operand was -2
63
.
Condition Code is set on the result.
QRND (000263). Quadruple Round. Five is added to the operand in DCBA if the
operand is positive (–5 is added if negative), and the result is divided by 11. The new
value replaces the former contents of DCBA. Condition Code is set, and the Overflow
bit is cleared. For binary coding details, refer to Table B-6 on page B-7.
QST (00023-). Quadruple Store. The quadrupleword operand contained in EDCB is
stored in the effective memory location indicated by A plus 4 times the index value. No
indexing occurs for code 000230. For code 000231, 000232, or 000233, indexing for
the effective address uses register R[5], R[6], or R[7], respectively. The quadrupleword
operand and A are then deleted from the stack. For binary coding details, refer to
Table B-6 on page B-7.