NonStop S-Series Server Description Manual (G06.24+)
TNS Instruction Set
HP NonStop S-Series Server Description Manual—520331-003
11-15
Definitions of TNS Instructions
CDF (000306). Convert Double to Floating. The doubleword signed integer in BA is
converted to a floating-point quantity in BA, with truncation if the result exceeds 23
significant bits.
CDFR (000326). Convert Double to Floating, Rounded. The doubleword signed
integer in BA is converted to a floating-point quantity in BA, with rounding if the result
exceeds 23 significant bits.
CDG (000366). Count Duplicate Words. Beginning at the address (in the current data
segment) specified in register C, and for a maximum count of words specified in
register B, this instruction counts the number of duplicate words in the buffer. Register
A is incremented on each duplicate found and must contain an initial value. After
execution, A contains the original A value plus the number of duplicate words, B
contains a count of the words left in the buffer (zero if empty), and C contains the
address of the first word that did not match its predecessor (or the word after the last
word in the buffer). The comparison actually starts with the words specified by C and
C–1. This instruction is intended to be used in conjunction with MNGG.
CDI (000307). Convert Double to Integer. The doubleword integer in BA is converted
to a single-word integer by copying the contents of A into B and deleting A. Overflow is
set if the doubleword quantity is greater than 32767 or less than –32768.
CDQ (000265). Convert Double to Quad. The doubleword integer in BA is extended
to a quadrupleword quantity, filling the most significant two words with zeros if B is
positive or ones if B is negative. BA is deleted, and the quadrupleword result is
pushed onto the stack.
CDX (000356). Count Duplicate Words, Extended. Beginning at the 32-bit even-byte
address specified in DC, and for a maximum count of words specified in B, this
instruction counts the number of duplicate words in the buffer. A is incremented on
each duplicate found and must contain an initial value. After execution, A contains the
original A value plus the number of duplicate words, B contains a count of the words
left in the buffer (zero if empty), and DC contains the extended address of the first word
that did not match its predecessor (or the word after the last word in the buffer). The
comparison actually starts with the words specified by DC and DC–2. This instruction
is intended to be used in conjunction with MNDX.
CED (000314). Convert Extended to Double. The extended floating-point quantity in
DCBA is converted to a doubleword signed integer. BA is deleted, and the doubleword
result is pushed onto the stack. Overflow is set if the value of the operand was greater
than 2
31
–1 or less than –2
31
. Condition Code is set on the result.
CEDR (000315). Convert Extended to Double, Rounded. The extended floating-point
quantity in DCBA is converted to a doubleword signed integer, with rounding according
to the contents of the most significant fractional bit. BA is deleted, and the doubleword
result is pushed onto the stack. Overflow is set if the value of the operand was greater
than 2
31
–1 or less than –2
31
. Condition Code is set on the result.
CEF (000276). Convert Extended to Floating. The four-word floating-point quantity in
DCBA is converted to a two-word floating-point quantity. DCBA is deleted, and the
two-word result is pushed onto the stack.