Files
Digital-Research-Source-Code/MPM OPERATING SYSTEMS/MPM-86/MPM-86 2.0 SOURCES/09/STSRSP.PLM
Sepp J Morris 31738079c4 Upload
Digital Research
2020-11-06 18:50:37 +01:00

93 lines
2.5 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

$title('MP/M-86 2.0 Status Process - RSP')
$compact
status: /* use compact model for 32 bit pointers */
do;
$include(copyrt.lit)
/* VAX generation commands
asm86 rspasm.a86
plm86 stsrsp.plm optimize(3) debug 'p1' 'p2' 'p3'
link86 rspasm.obj, stsrsp.obj to stsrsp.lnk
loc86 stsrsp.lnk od(sm(dats,code,data,const)) -
ad(sm(dats(0),code(0))) ss(stack(0))
h86 stsrsp
then on a micro
vax stsrsp.h86 $fans
gencmd stsrsp
ren mpmstat.rsp=stsrsp.cmd
Notes:
The stack is declared in the assemble module, RSPASM.A86.
The const(ants) come last to force hex generation.
*/
$include (stscom.plm)
dcl rsplink word external;
dcl sts$qd qd$structure initial (
0,0,0,qf$keep + qf$rsp,'MPMSTAT ',131,1,0,0,0,0,.sts$qd$buf);
dcl sts$qd$buf (131) byte; /* not copied if within 64K of sysdat */
dcl sts$cmd structure( /* info from qd$buf copied here */
pd address, tail (129) byte);
dcl sts$qpb qpb$structure initial(0,0,0,1,.sts$cmd,'MPMSTAT ');
plm$start:
procedure public;
dcl vers word;
dcl vers$str$pointer pointer;
dcl vers$str$ptr structure (
offset word,
segment word) at (@vers$str$pointer);
call mon1(qmake,.sts$qd); /* make MPMSTAT queue */
call mon1(qopen,.sts$qpb); /* open it */
ccb$ptr.segment,flag$ptr.segment,md$ptr.segment,ms$ptr.segment,
sat$ptr.segment,qd$ptr.segment,pd$ptr.segment, sysdat$ptr.segment
= rsplink;
sysdat$ptr.offset = 0;
vers$str$ptr.offset = sd.version + 3; /* skip cr, lf's */
vers$str$ptr.segment = sd.supmod(1);
call mon1(setprior,200); /* back to the same as transients */
do while true;
call mon1(qread,.sts$qpb);
pd$ptr.offset = sts$cmd.pd;
call mon1(setdefcon,pd.cns); /* to who typed MPMSTAT */
call crlf;
call display$text(0,vers$str$pointer);
call print$buffer (.(
'****** Status Display - Values Shown In Hexadecimal *****',
cr,lf,lf,'$'));
call display$config;
call display$ready;
call display$DQ;
call display$NQ;
call display$delay;
call display$poll;
call display$flag$wait;
call display$flag$set;
call display$queues;
call display$ccb(.('Consoles:$'), 0, sd$byte(ncondev));
call display$ccb(.('Printers:$'), sd$byte(ncondev), sd$byte(nciodev));
call display$memory;
call mon1 (condetach,dummy);
end;
end plmstart;
end status;