NonStop S-Series Server Description Manual (G06.24+)
TNS Instruction Set Definition
HP NonStop S-Series Server Description Manual—520331-003
C-46
Instruction Definitions
1 2 7 - - -  XCAL external call
 stack[Sx+2:Sx+6]:=(Px.<15:30>
 ,(ENV & %177740) | CSPACEID
 ,Lx.<15:30>);
 ! calculate CCSEG segment size
 @vSEG := CPDST[ (xa :=CCSEG[csegx] ).<1:6> ];
 @page := vSEG[ xa.<7:14> ];
 i:=page.TNSSEGSZ*%2000-1;
 t := code[i-I.<7:15>];
 s.<7> := t.<0>; ! CS
 s.<4> := t.<1>; ! LS
 s.<11:15> := t.<2:6>; ! space index
 xmap( s );
 m := t.<1> | t.<0>;
 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 use
 Accelerated Mode
 else
 use Nonaccelerated Mode
0 3 0 0 - -  LLS  logical left shift
 computeshiftcount(31);
 cc(A:=A'<<'shiftcount)
 [ See Note 11: Single shifts >= 32 ]
0 3 0 1 - -  LRS  logical right shift
 computeshiftcount(31);
 cc(A:=A'>>'shiftcount)
 [ See Note 11: Single shifts >= 32 ]
0 3 0 2 - -  ALS  arithmetic left shift
 computeshiftcount(31);
 cc(A:=A << shiftcount)
 [ See Note 13: Single Shift Counts >= 32 ]
 [ See Note 17: Arith Left Shift Overflow ]
0 3 0 3 - -  ARS  arithmetic right shift
 computeshiftcount(31);
 cc(A:=A>>shiftcount)
 [ See Note 13: Single Shift Counts >= 32 ]
Table C-2. Instruction Definitions (page36of38)










