NonStop S-Series Server Description Manual (G06.24+)

TNS Instruction Set Definition
HP NonStop S-Series Server Description Manual520331-003
C-43
Instruction Definitions
I 1 3 0-- - - BGEQ branch if greater or equal
if ~ N then branch
I 1 4 0-- - - BLSS branch if less
if N then branch
I 1 5 0-- - - BNEQ branch if not equal
if ~ Z then branch
I 1 6 0-- - - BLEQ branch if less or equal
if N | Z then branch
I 1 7 0-- - - BNOC branch no carry
if ~ K then branch
I 1 0 4-- - - BUN branch unconditional
branch
I 1 0xx4-- - - BOX branch on X
if X<A then {X:=X+1; branch}
else RP:=RP-1
I 1 4 4-- - - BAZ branch on A zero
if A=0 then branch; RP:=RP-1
I 1 5 4-- - - BANZ branch on A nonzero
if A<>0 then branch;
RP:=RP-1
I 1 6 4-- - - BNOV branch if no overflow
if ~ V then branch
I 1 7 4-- - - BSUB branch to subroutine
xmem[Sx:=Sx+2]:=TNSP; branch
if Sx >= %200000 then 'stack overflow'
I 2 0xx0-- - - LWP load word from program
RP:=RP+1;
cc(A:=code[branch address+X])
I 2 0xx4-- - - LBP load byte from program
RP:=RP+1;
adr:=(if indirect then
code[dba] else 0)
+dba'<<'1+X;
A:=codeb[ dba.<0>^(16 zeroes) + adr];
ccb(A)
[Note: adr and dba are truncated to 16 bits.]
0 2 4 n r c PUSH push to stack
xmem[Sx+2:Sx+c*2+2] :=R[(r-c)mod 8:r];
RP:=n; Sx:=Sx+(c+1)*2
if Sx >= %200000 then 'stack overflow'
0 2 5 0-- - - RSUB return from subroutine
TNSP:=xmem[Sx];
Sx:=Sx-$XADR(I.<8:15>)
if P is register-exact point then use
Accelerated Mode
else use Nonaccelerated Mode
1 2 4 n r c POP pop from stack
R[(r-c)mod 8:r] :=xmem[Sx-c*2:Sx];
RP:=n; Sx:=Sx-2*c-2
Table C-2. Instruction Definitions (page33of38)