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

TNS Instruction Set Definition
HP NonStop S-Series Server Description Manual520331-004
C-13
Instruction Definitions
0 0 0 0 3 2 DPCL dynamic procedure call
A.<0:6> - space id
A.<7:15> - pep index
t := (ENV & %177740) | CSPACEID ;
stack[S+1:S+3] := (Px.<15:30>,t,Lx.<15:30>);
t.<7> := A.<0>; ! CS
t.<4> := A.<1>; ! LS
t.<11:15> := A.<2:6>; ! space index
xmap( t );
m := A.<0> + 2*A.<1> + 2;
t := A.<7:15>;
p := t.<7:15>;
if ~ PRIV then
{if p>= mem[CCSEG[m],0] then
{'validate CCSEG with a trusted copy';
if p >= mem[CCSEG[m],2]
then priv trap;
PRIV:=1
}
};
Lx:=Sx:=Sx+3*2;
if Lx >= %200000 then 'stack overflow';
CS:=t.<0>;
LS:=t.<1>;
P:=code[t.<7:15>];
RP:=7
if 'P is register-exact point' then
'choose Acclerated Mode'
else
'choose Nonaccelerated Mode';
0 0 0 0 3 4 ANS and to SG memory
'Optionally Indivisible On';
cc(sysstack[A] := sysstack[A] & B);
RP:=RP-2
'Optionally Indivisible Off';
[ See Note 2: PRIV ONLY ]
0 0 0 0 3 5 ORS or to SG memory
'Optionally Indivisible On';
cc(sysstack[A]:=sysstack[A] | B);
RP:=RP-2
'Optionally Indivisible Off'
[ See Note 2: PRIV ONLY ]
Table C-2. Instruction Definitions (page 3 of 38)