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

TNS Instruction Set Definition
HP NonStop S-Series Server Description Manual520331-003
C-33
Instruction Definitions
0 0 0 3 4 4 IDX1 calculate index offset and test index bounds for
1 dimension
(bounds table in code space)
V := 0;
lower:=code[A];
upper:=code[A+1];
if B<lower then
V:=1;
if B>upper then
{V:=1;
R[7]:=B-lower;
cc(R[7])}
RP:=RP-2
[ See Note 18: Range error ]
0 0 0 3 4 5 IDX2 calculate index offset and
test index bounds for 2 dimensions
(bounds table in code space)
V :=0;
lower:=code[A];
upper:=code[A+1];
if B<lower then
V:=1;
if B>upper then
{V:=1;
s:=upper-lower+1;
B:=B-lower;
lower:=code[A+2];
upper:=code[A+3];
if C<lower then
{V:=1;
if C>upper then
{V:=1;
R[7]:=(C-lower)*s+B;
cc(R[7])}
RP:=RP-3
[ See Note 18: Range error ]
0 0 0 3 4 6 IDX3 calculate index offset and test index bounds for
3 dimensions
(bounds table in code space)
V := 0;
indv:=0; psize:=1;
for i=1 to 3 by 1 do
{lower:=code[A];
upper:=code[A:=A+1];
if B<lower then
{V:=1;
if B>upper then
{V:=1;
size:=upper-lower+1;
B:=B-lower;
indv:=indv+psize*B;
psize:=psize*size;
B:=A+1;
RP:=RP-1}
{R[7]:=indv;
cc(R[7])}
RP:=RP-1
[ See Note 18: Range error ]
Table C-2. Instruction Definitions (page23of38)