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










