NonStop S-Series Server Description Manual (G06.24+)
TNS Instruction Set Definition
HP NonStop S-Series Server Description Manual—520331-003
C-16
Instruction Definitions
0 0 0 0 5 7@ DOFS disk record offset
 A=record number;
 on completion, A
 holds offset into
 buffer of record
 if A'>='512 or
 (A:=xmem[stackb[Lx+4:Lx+6]-A*2])
 '>='stackb[Lx+8]
 then {TNSP:=stackb[Lx+10]; RP:=7};
0 0 0 0 6 4* XMSK exchange mask
 'Indivisible On';
 MASK:=:A
 'Indivisible Off'
0 0 0 0 7 0@ DLEN disc record length
 A=record number
 if (A:=DOFS(A+1)-DOFS(A)) < 0
 then {TNSP:=stackb[Lx+10]; RP:=7}
0 0 0 0 7 3* DISP dispatch
 'Indivisible On';
 set dispatcher interrupt;
 siv[15].parm1_lo.<15>:=1
 'Indivisible Off'
0 0 0 0 7 4* HALT halt
 halt
0 0 0 0 7 5* MRL  merge onto ready list
 BA: xaddr of PCB element to merge
 'Indivisible On';
 new_pri := bxmem[BA+9];
 prev := xaddr of sysstack[%132:%133];
 do { next := prev;
 prev := xmem2[prev+4];
 } until bxmem[prev+9] >= new_pri;
 if xmem2[prev] <> next then IFAIL;
 xmem2[prev] := BA;
 xmem2[next+4] := BA;
 xmem2[BA] := next;
 xmem2[BA+4] := prev;
 cur_pri := if CPCB = 0xFFFC0000 then 0
 else bxmem[CPCB+9];
 if cur_pri < new_pri then DISPATCH;
 'Indivisible Off'
 RP:=RP-2
Table C-2. Instruction Definitions (page 6 of 38)










