NonStop S-Series Server Description Manual (G06.24+)
TNS Instruction Set Definition
HP NonStop S-Series Server Description Manual—520331-003
C-22
Instruction Definitions
0 0 0 2 6 5 CDQ convert double to quad
(t,u):=BA;
s:=if B<0
then %177777 else 0;
RP:=RP+2;
DCBA:=(s,s,t,u)
0 0 0 2 6 6 CIQ convert integer to quad
t:=A;
s:=if A<0
then %177777 else 0;
RP:=RP+3;
DCBA:=(s,s,s,t)
0 0 0 2 6 7 CLQ convert logical to quad
t:=A;RP:=RP+3;
DCBA:=(0,0,0,t)
0 0 0 2 7 0 FADD floating add
V:=0
t1:=exponent(C);
t2:=exponent(A);
if BA<>0 and DC<>0
and abs(t1-t2)<=24 then
{sign1:=D.<0>;
sign2:=B.<0>;
D.<0>:=B.<0>:=1;
exponent(C):=0;
exponent(A):=0;
s:=t1-t2;
if s>=0 then
BA:=BA'>>'s;
else
{DC:=DC'>>'-s;
DC:=:BA;
t1:=t2}
if sign1=sign2 then
{DC:=DC'+'BA;
if carry then
{DC:=DC'>>'1;
t1:=t1+1;
D.<0>:=1}}
else
{DC:=DC'-'BA;
if not carry then
{DC:=-DC;
sign1:=~sign1}
if DC=0 then
t1:=sign1:=0
else
while D.<0>=0 do
{DC:=DC'<<'1;
t1:=t1-1}}
DC:=DC'+'%400;
if carry then
t1:=t1+1;
if t1.<6>=1 then
call overflow;
D.<0>:=sign1;
exponent(C):=t1}
else
if DC=0 or t1-t2<-24 then
DC:=BA;
if no overflow then cc(DC); RP:=RP-2
Table C-2. Instruction Definitions (page12of38)