mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-25 17:34:06 +00:00
1396 lines
75 KiB
Plaintext
1396 lines
75 KiB
Plaintext
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 1
|
||
|
||
|
||
VAX/VMS PL/M-86 V1.0 COMPILATION OF MODULE PIN
|
||
OBJECT MODULE PLACED IN PIN.OBJ
|
||
COMPILER INVOKED BY: PLM86 PIN.PLM OPTIMIZE(3) DEBUG XREF
|
||
|
||
|
||
$title ('PIN RSP - reads characters from keyboard')
|
||
$set (debug=0)
|
||
$compact
|
||
1 pin:
|
||
do;
|
||
|
||
/* PIN performs physical input from for each physical console
|
||
and places the characters into the input queue associated
|
||
with each virtual console. Switch screen commands are
|
||
received from the XIOS and acted on by PIN.
|
||
|
||
Control S/Q, Control O and Control C are intercepted and
|
||
processed by PIN. The input queues are created by VOUT.
|
||
*/
|
||
|
||
$include (:f1:comlit.lit)
|
||
|
||
2 1 = declare
|
||
= lit literally 'literally',
|
||
= dcl lit 'declare',
|
||
= true lit '0ffh',
|
||
= false lit '0',
|
||
= no lit 'not',
|
||
= boolean lit 'byte',
|
||
= forever lit 'while true',
|
||
= cr lit '13',
|
||
= lf lit '10',
|
||
= tab lit '9';
|
||
|
||
|
||
3 1 dcl rsp$link word external; /* segment of SYSDAT */
|
||
|
||
$include (:f1:mfunc.lit)
|
||
|
||
= /* Concurrent CP/M function numbers */
|
||
|
||
4 1 = dcl m$prtbuf lit '9',
|
||
= m$select lit '14',
|
||
= m$openf lit '15',
|
||
= m$closef lit '16',
|
||
= m$deletef lit '19',
|
||
= m$readf lit '20',
|
||
= m$writef lit '21',
|
||
= m$makef lit '22',
|
||
= m$getlogin lit '24',
|
||
= m$curdsk lit '25',
|
||
= m$setdma lit '26',
|
||
= m$setatt lit '30',
|
||
= m$setusr lit '32',
|
||
= m$readrf lit '33',
|
||
= m$writerf lit '34',
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 2
|
||
|
||
|
||
= m$resetdrv lit '37',
|
||
= m$errmode lit '45',
|
||
= m$dirbios lit '50',
|
||
= m$makeq lit '134',
|
||
= m$openq lit '135',
|
||
= m$deleteq lit '136',
|
||
= m$readq lit '137',
|
||
= m$creadq lit '138',
|
||
= m$writeq lit '139',
|
||
= m$cwriteq lit '140',
|
||
= m$delay lit '141',
|
||
= m$dispatch lit '142',
|
||
= m$setprior lit '145',
|
||
= m$detach lit '147',
|
||
= m$setcns lit '148',
|
||
= m$parse lit '152',
|
||
= m$getcns lit '153',
|
||
= m$sysdat lit '154',
|
||
= m$getpd lit '156',
|
||
= m$abort lit '157';
|
||
|
||
= /* Internal calls */
|
||
|
||
5 1 = dcl mi$sleep lit '0212H',
|
||
= mi$wakeup lit '0213H';
|
||
=
|
||
$include (:f1:mxfunc.lit)
|
||
|
||
= /* MP/M-86 XIOS function numbers */
|
||
|
||
6 1 = dcl mx$conin lit '1',
|
||
= mx$conout lit '2',
|
||
= mx$lstout lit '4',
|
||
= mx$switch lit '7',
|
||
= mx$upstatus lit '8';
|
||
|
||
$include (:f1:sdpin.lit)
|
||
|
||
= /* System Data Page */
|
||
|
||
7 1 = dcl sysdat$pointer pointer;
|
||
8 1 = dcl sysdat$ptr structure(
|
||
= offset word,
|
||
= segment word) at (@sysdat$pointer);
|
||
9 1 = declare sd based sysdat$pointer structure (
|
||
= supmod (4) word,
|
||
= /* rtmmod (4) word,
|
||
= memmod (4) word,
|
||
= ciomod (4) word,
|
||
= bdosmod (4) word,
|
||
= xiosmod (4) word,
|
||
= netmod (4) word,
|
||
= reservd (4) word */
|
||
= space1(28) word,
|
||
= mpmseg word,
|
||
= rspseg word,
|
||
= endseg word,
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 3
|
||
|
||
|
||
= module$map byte,
|
||
= ncns byte,
|
||
= nlst byte,
|
||
= nccb byte,
|
||
= nflags byte,
|
||
= srchdisk byte,
|
||
= mmp word,
|
||
= nslaves byte,
|
||
= dayfile byte,
|
||
= tempdisk byte,
|
||
= tickspersec byte,
|
||
= lul word,
|
||
= ccb word,
|
||
= flags word,
|
||
= mdul word,
|
||
= mfl word,
|
||
= pul word,
|
||
= qul word,
|
||
= qmau (4) word,
|
||
= rlr word,
|
||
= dlr word,
|
||
= drl word,
|
||
= plr word,
|
||
= slr word,
|
||
= thrdrt word,
|
||
= qlr word,
|
||
= mal word,
|
||
= version word,
|
||
= vernum word,
|
||
= mpmvernum word,
|
||
= tod_day word,
|
||
= tod (3) byte,
|
||
= ncondev byte,
|
||
= nlstdev byte,
|
||
= nciodev byte,
|
||
= lcb word,
|
||
= openvec word,
|
||
= lockmax byte,
|
||
= openmax byte,
|
||
= space2 (2) word,
|
||
= cmod byte );
|
||
=
|
||
=
|
||
10 1 = declare sd$byte based sysdat$pointer (1) byte;
|
||
11 1 = dcl ncondev lit '83h',
|
||
= nlstdev lit '84h',
|
||
= nciodev lit '85h';
|
||
|
||
$include (:f1:proces.lit)
|
||
|
||
= /*
|
||
= Proces Literals MP/M-8086 II
|
||
= */
|
||
|
||
12 1 = declare pnamsiz literally '8';
|
||
|
||
13 1 = declare pd$hdr literally 'structure
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 4
|
||
|
||
|
||
= (link word,thread word,stat byte,prior byte,flag word,
|
||
= name (8) byte,uda word,dsk byte,user byte,ldsk byte,luser byte,
|
||
= mem word';
|
||
|
||
14 1 = declare pd$structure literally 'pd$hdr,
|
||
= dvract word,wait word,org byte,net byte,parent word,
|
||
= cns byte,abort byte,conmode word,lst byte,sf3 byte,sf4 byte,sf5 byte,
|
||
= reservd (4) byte,pret word,scratch word)';
|
||
|
||
15 1 = declare psrun lit '00',
|
||
= pspoll lit '01',
|
||
= psdelay lit '02',
|
||
= psswap lit '03',
|
||
= psterm lit '04',
|
||
= pssleep lit '05',
|
||
= psdq lit '06',
|
||
= psnq lit '07',
|
||
= psflagwait lit '08',
|
||
= psciowait lit '09';
|
||
|
||
16 1 = declare pf$sys lit '00001h',
|
||
= pf$keep lit '00002h',
|
||
= pf$kernal lit '00004h',
|
||
= pf$pure lit '00008h',
|
||
= pf$table lit '00010h',
|
||
= pf$resource lit '00020h',
|
||
= pf$raw lit '00040h',
|
||
= pf$ctlc lit '00080h',
|
||
= pf$active lit '00100h',
|
||
= pf$tempkeep lit '00200h',
|
||
= pf$ctld lit '00400h',
|
||
= pf$childabort lit '00800h',
|
||
= pf$noctls lit '01000h';
|
||
|
||
17 1 = declare pcm$11 lit '00001h',
|
||
= pcm$ctls lit '00002h',
|
||
= pcm$rout lit '00004h',
|
||
= pcm$ctlc lit '00008h',
|
||
= pcm$ctlo lit '00080h',
|
||
= pcm$rsx lit '00300h';
|
||
18 1 declare pd$pointer pointer;
|
||
19 1 declare pd$ptr structure (offset word, segment word) at (@pd$pointer);
|
||
20 1 declare pd based pd$pointer pd$structure;
|
||
|
||
|
||
21 1 declare ncopies byte external, /* copy number of this process, corresponds */
|
||
cnsnum byte at(@ncopies);/* with physical console number */
|
||
|
||
22 1 declare ctrlC lit '3'; /* some ASCII codes */
|
||
23 1 declare ctrlD lit '4';
|
||
24 1 declare bell lit '7';
|
||
25 1 declare ctrlO lit '15';
|
||
26 1 declare ctrlP lit '16';
|
||
27 1 declare ctrlQ lit '17';
|
||
28 1 declare ctrlS lit '19';
|
||
29 1 declare esc lit '27';
|
||
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 5
|
||
|
||
|
||
|
||
/* - global variables - */
|
||
|
||
$include (:f1:vccb.lit)
|
||
= /* Concurrent CP/M Character Control Block Structure */
|
||
|
||
= /* +---------+---------+---------+---------+
|
||
= 00 | attach | queue |
|
||
= +---------+---------+---------+---------+
|
||
= 04 | flag | startcol| column | nchar |
|
||
= +---------+---------+---------+---------+
|
||
= 08 | mimic | msource | pc | vc |
|
||
= +---------+---------+---------+---------+
|
||
= 0C | btmp | resrvd | state |
|
||
= +---------+---------+---------+---------+
|
||
= 10 | maxbufsiz | vinq |
|
||
= +---------+---------+---------+---------+
|
||
= 14 | voutq | vcmxq |
|
||
= +---------+---------+---------+---------+
|
||
= 18 | qpbflgs | qpbfill | qpbqaddr |
|
||
= +---------+---------+---------+---------+
|
||
= 1C | qpbnmsgs | qpbbuffptr |
|
||
= +---------+---------+---------+---------+
|
||
= 20 | qbuff | cosleep |
|
||
= +---------+---------+---------+---------+
|
||
= 24 | usleep | vsleep |
|
||
= +---------+---------+---------+---------+
|
||
= 28 | ... reserved ... |
|
||
= +---------+---------+---------+---------+
|
||
|
||
|
||
|
||
|
||
= */
|
||
|
||
30 1 = dcl ccb$structure lit 'structure (attach address, queue address,
|
||
= flag byte, startcol byte, column byte, nchar byte, mimic byte, msource byte,
|
||
= ccb$tail1';
|
||
31 1 = dcl ccb$tail1 lit
|
||
= 'pc byte, vc byte, btmp byte, reservd byte, state word, maxbufsiz word,
|
||
= ccb$tail2';
|
||
32 1 = dcl ccb$tail2 lit
|
||
= 'vinq address, voutq address, vcmxq address,
|
||
= qpbflags byte, qpbresrvd byte, qpbqaddr address,
|
||
= qpbnmsgs address, qpbbuffptr address, qbuff address, cosleep word,
|
||
= usleep word, vsleep word, r1 word, r2 word)';
|
||
|
||
33 1 = declare /* flag values */
|
||
= cf$listcp lit '001h', /* control P toggle */
|
||
= cf$compc lit '002h', /* suppress output */
|
||
= cf$switchs lit '004h', /* XIOS supports switch screening */
|
||
= cf$conout lit '008h', /* XIOS console output ownership */
|
||
= cf$vout lit '010h', /* process writing to VOUTQ */
|
||
= cf$bufp lit '020h'; /* toggle to control printer echo */
|
||
= /* on control P when background */
|
||
= /* and buffered */
|
||
= /* values of state byte */
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 6
|
||
|
||
|
||
= /* conout goes to XIOS */
|
||
|
||
= /* state word flags */
|
||
|
||
34 1 = dcl
|
||
= csm$buffered lit '0001h',
|
||
= csm$background lit '0002h',
|
||
= csm$purging lit '0004h',
|
||
= csm$noswitch lit '0008h',
|
||
= csm$suspend lit '0010h',
|
||
= csm$abort lit '0020h',
|
||
= csm$filefull lit '0040h',
|
||
= csm$ctrlS lit '0080h',
|
||
= csm$ctrlO lit '0100h',
|
||
= csm$ctrlP lit '0200h';
|
||
|
||
35 1 = dcl x$init$offset lit '0Ch',
|
||
= x$init$pointer pointer,
|
||
= x$init$ptr structure (offset word, segment word) at (@x$init$pointer),
|
||
= x$init based x$init$pointer structure
|
||
= (tick byte, ticks$sec byte, door byte, resrvd1 (2) byte,
|
||
= nvcns byte, nccb byte, nlst byte, ccb word, lcb word);
|
||
|
||
|
||
36 1 = dcl lcb$structure lit 'structure (attach address, queue address,
|
||
= flag byte, startcol byte, column byte, nchar byte,
|
||
= mimic byte, msource byte)';
|
||
|
||
37 1 declare ccb$pointer pointer;
|
||
38 1 declare ccb$ptr structure(offset word,segment word) at (@ccb$pointer);
|
||
39 1 declare ccb based ccb$pointer ccb$structure;
|
||
|
||
40 1 declare old$ccb$pointer pointer;
|
||
41 1 declare old$ccb based old$ccb$pointer ccb$structure;
|
||
|
||
42 1 declare lcb$pointer pointer;
|
||
43 1 declare lcb$ptr structure(offset word,segment word) at (@lcb$pointer);
|
||
44 1 declare lcb based lcb$pointer lcb$structure;
|
||
|
||
45 1 declare screen byte; /* current foreground screen number */
|
||
|
||
$include (:f1:qd.lit)
|
||
|
||
= /* Queue Descriptor */
|
||
|
||
46 1 = dcl qnamsiz lit '8';
|
||
|
||
47 1 = dcl qd$structure lit 'structure(
|
||
= link word,
|
||
= net byte,
|
||
= org byte,
|
||
= flags word,
|
||
= name(qnamsiz) byte,
|
||
= msglen word,
|
||
= nmsgs word,
|
||
= dq word,
|
||
= nq word,
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 7
|
||
|
||
|
||
= msgcnt word,
|
||
= msgout word,
|
||
= buffer word)';
|
||
|
||
= /* queue flag values */
|
||
|
||
48 1 = dcl qf$mx lit '001h'; /* Mutual Exclusion */
|
||
49 1 = dcl qf$keep lit '002h'; /* NO DELETE */
|
||
50 1 = dcl qf$hide lit '004h'; /* Not User writable */
|
||
51 1 = dcl qf$rsp lit '008h'; /* rsp queue */
|
||
52 1 = dcl qf$table lit '010h'; /* from qd table */
|
||
53 1 = dcl qf$rpl lit '020h'; /* rpl queue */
|
||
54 1 = dcl qf$dev lit '040h'; /* device queue */
|
||
|
||
= /* Queue Parameter Block */
|
||
|
||
55 1 = dcl qpb$structure lit 'structure(
|
||
= flgs byte,
|
||
= net byte,
|
||
= qaddr word,
|
||
= nmsgs word,
|
||
= buffptr word,
|
||
= name (qnamsiz) byte )';
|
||
|
||
56 1 declare qpb qpb$structure;
|
||
|
||
57 1 dcl null word data (0ffffh); /* sent to VOUTQ to wake up VOUT */
|
||
/* Note: this forces a 2 byte constant section and thus hex generation */
|
||
|
||
58 1 dcl apb structure ( /* abort parameter block */
|
||
pd word, term word, cns byte, rsrvd byte) initial (0,0,0,0);
|
||
|
||
59 1 dcl cword word, /* format of console input from XIOS */
|
||
chars (2) byte at (@cword),
|
||
char byte at (@chars(0)),
|
||
char$type byte at(@chars(1)),
|
||
ct$switch lit '0ffh',
|
||
ct$data lit '0';
|
||
|
||
60 1 mon1: procedure(func,a) external;
|
||
61 2 dcl func byte, a address;
|
||
62 2 end mon1;
|
||
|
||
63 1 mon2: procedure(func,a) byte external;
|
||
64 2 dcl func byte, a address;
|
||
65 2 end mon2;
|
||
|
||
66 1 mon3: procedure(func,a) address external;
|
||
67 2 dcl func byte, a address;
|
||
68 2 end mon3;
|
||
|
||
69 1 mon4: procedure(func,a) pointer external;
|
||
70 2 dcl func byte, a address;
|
||
71 2 end mon4;
|
||
|
||
72 1 intsys: procedure (cx, dx, bx) external; /* internal O.S. functions */
|
||
73 2 dcl (cx, dx, bx) word;
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 8
|
||
|
||
|
||
74 2 end intsys;
|
||
|
||
/* the following 4 procedures call the XIOS directly, the PXIOS.A86 */
|
||
/* sets the registers to make this legal. DS = system data segment, */
|
||
/* ES = UDA. The parameters are passed AX=FUNC, CX=P1, DX=P2 */
|
||
|
||
75 1 pxios1: procedure(func,p1,p2) external;
|
||
76 2 dcl (func,p1,p2) address;
|
||
77 2 end pxios1;
|
||
|
||
/*pxios2: procedure(func,p1,p2) byte external;
|
||
dcl (func,p1,p2) address;
|
||
end pxios2;*/
|
||
|
||
78 1 pxios3: procedure(func,p1,p2) word external;
|
||
79 2 dcl (func,p1,p2) address;
|
||
80 2 end pxios3;
|
||
|
||
/*pxios4: procedure(func,p1,p2) pointer external;
|
||
dcl (func,p1,p2) address;
|
||
end pxios4;*/
|
||
|
||
81 1 conin: procedure;
|
||
82 2 cword = pxios3(mx$conin, 0, 0); /* get console input from XIOS */
|
||
83 2 end; /* AX=func, CX=0, DX(device#)=0 */
|
||
|
||
84 1 print$msg: procedure(len, endchar, sptr); /* print string to delimiter */
|
||
85 2 dcl (len, i, endchar) byte, sptr pointer, /* or len number of chars */
|
||
string based sptr (1) byte;
|
||
86 2 i = 0;
|
||
87 2 do while string(i) <> endchar and i < len;
|
||
88 3 call pxios1(mx$conout, string(i), screen);
|
||
89 3 i = i + 1;
|
||
90 3 end;
|
||
91 2 end print$msg;
|
||
|
||
$if debug=1
|
||
error: procedure (msg$ptr);
|
||
dcl msg$ptr pointer;
|
||
call print$msg(0ffh, 0, @(cr, lf, '**** PIN ERROR ****', cr, lf, 0));
|
||
call print$msg(0ffh, '$', msg$ptr);
|
||
halt;
|
||
end error;
|
||
|
||
$endif
|
||
|
||
92 1 read$change$mxq: procedure (qaddr);
|
||
93 2 dcl qaddr address;
|
||
94 2 qpb.qaddr = qaddr;
|
||
95 2 call mon1 (m$readq, .qpb);
|
||
96 2 end read$change$mxq;
|
||
|
||
97 1 write$change$mxq: procedure (qaddr);
|
||
98 2 dcl qaddr address;
|
||
99 2 qpb.qaddr = qaddr;
|
||
100 2 call mon1 (m$writeq, .qpb);
|
||
101 2 end write$change$mxq;
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 9
|
||
|
||
|
||
|
||
102 1 sleep: procedure (list$root);
|
||
103 2 dcl list$root word;
|
||
104 2 call intsys(mi$sleep, list$root, ps$ciowait);
|
||
105 2 end sleep;
|
||
|
||
106 1 wake$up: procedure (list$root);
|
||
107 2 dcl list$root word;
|
||
108 2 call intsys(mi$wakeup, list$root, 0);
|
||
109 2 end wake$up;
|
||
|
||
/* The conout flag is set and "owned" before any process calls the XIOS
|
||
console output routine for a particular screen. PIN sets this flag
|
||
to insure there is no process in the XIOS console output code. The
|
||
ccb.cosleep is a temporary location for processes waiting to own the
|
||
the XIOS conout bit. */
|
||
|
||
110 1 set$conout$flag: procedure(ccb$ptr);
|
||
111 2 dcl ccb$ptr pointer;
|
||
112 2 dcl ccb based ccb$ptr ccb$structure;
|
||
113 2 disable;
|
||
114 2 do while (ccb.flag and cf$conout) <> 0; /* Another process is in XIOS */
|
||
115 3 call sleep (.ccb.cosleep); /* PIN gets awakened 1st: */
|
||
116 3 end; /* better priority */
|
||
117 2 ccb.flag = ccb.flag or cf$conout;
|
||
118 2 enable;
|
||
119 2 end set$conout$flag;
|
||
|
||
120 1 reset$conout$flag: procedure (ccb$ptr);
|
||
121 2 dcl ccb$ptr pointer;
|
||
|
||
122 2 dcl ccb based ccb$ptr ccb$structure;
|
||
123 2 ccb.flag = ccb.flag and not cf$conout; /* wake sleeping process */
|
||
124 2 call wakeup(.ccb.cosleep);
|
||
125 2 end reset$conout$flag;
|
||
|
||
126 1 wake$vout: procedure(ccb$ptr);
|
||
127 2 dcl ccb$ptr pointer;
|
||
128 2 dcl ccb based ccb$ptr ccb$structure;
|
||
129 2 if (ccb.state and csm$buffered) = 0 then
|
||
130 2 return; /* dynamic mode */
|
||
131 2 qpb.qaddr = ccb.voutq;
|
||
132 2 qpb.buffptr = .null; /* VOUT message is 2 byte format */
|
||
133 2 call mon1(m$cwriteq, .qpb); /* null message if first byte = 0ffh */
|
||
134 2 qpb.qaddr = ccb.voutq;
|
||
135 2 qpb.buffptr = .null; /* VOUT needs two wake-ups in some */
|
||
136 2 call mon1(m$cwriteq, .qpb); /* situations */
|
||
137 2 call wake$up(.ccb.vsleep);
|
||
138 2 end wake$vout;
|
||
|
||
139 1 write$vinq: procedure(c);
|
||
140 2 dcl c byte;
|
||
141 2 qpb.qaddr = ccb.vinq;
|
||
142 2 qpb.buffptr = .c;
|
||
143 2 if mon3(m$cwriteq, .qpb) = 0ffffh then /* ring console bell if type */
|
||
144 2 do;
|
||
145 3 call set$conout$flag(@ccb); /* XIOS is not reentrant on same console */
|
||
146 3 call pxios1(mx$conout, bell, screen); /* ahead buffer if full */
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 10
|
||
|
||
|
||
147 3 call reset$conout$flag(@ccb);
|
||
148 3 end;
|
||
149 2 end write$vinq;
|
||
|
||
150 1 set$ccb: procedure (vc); /* base VCCB structure */
|
||
151 2 dcl vc byte;
|
||
152 2 old$ccb$pointer = ccb$pointer;
|
||
153 2 ccb$ptr.offset = sd.ccb + size(ccb) * vc;
|
||
154 2 end set$ccb;
|
||
|
||
|
||
/* the functions below act on special keys received from the keyboard */
|
||
|
||
155 1 dcl controlS$has$been$pressed boolean initial (false);
|
||
|
||
156 1 switch: procedure; /* switch virtual consoles */
|
||
157 2 if char >= sd.ncns then
|
||
158 2 return; /* check for legal range */
|
||
159 2 if (ccb.state and csm$noswitch) <> 0 then /* no switch state */
|
||
160 2 return;
|
||
161 2 if char = ccb.vc then /* request is for currently selected screen */
|
||
162 2 return;
|
||
|
||
163 2 call set$ccb(screen := char); /* switch old$ccb and ccb structures */
|
||
|
||
/* - Switch Out Action - */
|
||
|
||
164 2 call read$change$mxq(oldccb.vcmxq); /* read the MX 1st THEN */
|
||
165 2 call set$conout$flag(@oldccb); /* the conout flag */
|
||
|
||
166 2 oldccb.state = oldccb.state or csm$background;
|
||
167 2 if (oldccb.state and csm$purging) <> 0 then
|
||
168 2 oldccb.state = oldccb.state and not double(csm$purging);
|
||
/* turn off purge */
|
||
|
||
/* Ensure the two affected screens are not currently being updated */
|
||
/* by the XIOS console output routines. */
|
||
|
||
169 2 call read$change$mxq(ccb.vcmxq);
|
||
170 2 call set$conout$flag$(@ccb);
|
||
|
||
171 2 call pxios1(mx$switch, 0, screen);
|
||
|
||
172 2 call reset$conout$flag(oldccb$pointer);
|
||
173 2 call write$change$mxq(oldccb.vcmxq); /* allow VOUT to change state */
|
||
174 2 if (oldccb.state and csm$buffered) <> 0 then /* background buffered */
|
||
175 2 call wake$vout(@oldccb); /* send chars to VOUT if buffer, */
|
||
/* else user process hangs on USLEEP */
|
||
|
||
/* - Switch In Action - */
|
||
|
||
176 2 ccb.state = ccb.state and not double(csm$background);
|
||
177 2 if (ccb.state and csm$buffered) <> 0 then
|
||
178 2 do; /* buffer or buffer error states */
|
||
/* turn on purge */
|
||
179 3 ccb.state = (ccb.state or csm$purging) and not double(csm$filefull);
|
||
/* turn off error could print msg */
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 11
|
||
|
||
|
||
180 3 call wake$vout(@ccb); /* here eventually */
|
||
181 3 end;
|
||
182 2 call reset$conout$flag(ccb$pointer);
|
||
183 2 call write$change$mxq(ccb.vcmxq);
|
||
184 2 if (ccb.state and csm$ctrlS) <> 0 then /* we "own" the XIOS console */
|
||
185 2 controlS$has$been$pressed = true; /* output flag */
|
||
else
|
||
186 2 controlS$has$been$pressed = false;
|
||
187 2 call pxios1(mx$upstatus, 0, 0);
|
||
188 2 end switch;
|
||
|
||
189 1 dcl drive$letters (17) byte initial ('ABCDEFGHIJKLMNOP ');
|
||
|
||
190 1 controlC: procedure;
|
||
191 2 dcl (junk,cur$drive,logged$in$drives) word;
|
||
192 2 dcl letter$index byte;
|
||
193 2 if (pd.conmode and pcm$ctlc) <> 0 then
|
||
194 2 do;
|
||
195 3 call write$vinq(char);
|
||
196 3 return;
|
||
197 3 end;
|
||
198 2 call read$change$mxq(ccb.vcmxq); /* keep CCB state from changing */
|
||
/* while we test and change it */
|
||
199 2 ccb.state = ccb.state and not double(csm$ctrlS or csm$ctrlO);
|
||
200 2 controlS$has$been$pressed = false;
|
||
/* control C turns off control S and */
|
||
/* control O, doesn't change control P */
|
||
201 2 if (ccb.state and csm$purging) <> 0 then /* stop purge */
|
||
202 2 ccb.state = ccb.state and not double (csm$purging) or csm$abort;
|
||
203 2 qpb.qaddr = ccb.vinq; /* drain input queue, we have better */
|
||
204 2 qpb.buffptr = .junk; /* priority than user process or TMP */
|
||
205 2 do while mon2(m$creadq, .qpb) <> 0ffh; /* drain type-ahead q */
|
||
206 3 end;
|
||
207 2 ccb.nchar = 0; /* zero console status look ahead */
|
||
208 2 call write$change$mxq(ccb.vcmxq);
|
||
209 2 call wake$vout(@ccb); /* let VOUT clean up if buffering */
|
||
210 2 call wake$up(.ccb.usleep); /* user process could have gone to sleep */
|
||
/* during this rigamarole */
|
||
|
||
211 2 apb.pd = ccb.attach; /* CIO keeps aborts from happening */
|
||
212 2 call mon1(m$abort, .apb); /* while in the XIOS, do abort after */
|
||
/* VOUT has cleaned up, otherwise the TMP*/
|
||
/* with a better priority can print its */
|
||
/* prompt, and then VOUT prints one last */
|
||
/* purge character */
|
||
|
||
/* reset drives and print which fail */
|
||
213 2 logged$in$drives = mon3(m$getlogin,0);
|
||
214 2 cur$drive = 1; /* drive to reset */
|
||
215 2 letter$index = 0;
|
||
216 2 do junk = 0 to 15;
|
||
217 3 if (logged$in$drives and cur$drive) <> 0 then
|
||
218 3 if mon2(m$resetdrv, cur$drive) <> 0 then
|
||
219 3 do;
|
||
220 4 drive$letters(letter$index) = 'A' + junk;
|
||
221 4 letter$index = letter$index + 1;
|
||
222 4 end;
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 12
|
||
|
||
|
||
223 3 cur$drive = shl(cur$drive,1);
|
||
224 3 end;
|
||
225 2 if letter$index > 0 then
|
||
226 2 do;
|
||
227 3 call set$conout$flag(@ccb);
|
||
228 3 call print$msg(0ffh,0,@(cr,lf,'Open file on drive(s) ',0));
|
||
229 3 call print$msg(1,0,@drive$letters(0));
|
||
230 3 do junk = 1 to letter$index - 1;
|
||
231 4 call print$msg(1,0,@(','));
|
||
232 4 call print$msg(1,0,@drive$letters(junk));
|
||
233 4 end;
|
||
234 3 call print$msg(2,0,@(cr,lf));
|
||
235 3 ccb.startcol, ccb.column = 0; /* for function 10 - line redraw */
|
||
236 3 call reset$conout$flag(@ccb);
|
||
237 3 end;
|
||
238 2 end controlC;
|
||
|
||
239 1 controlO: procedure; /* toggle console output byte bucket */
|
||
240 2 if (pd.conmode and pcm$ctlo) <> 0 then /* ignore if control P or if func */
|
||
241 2 do;
|
||
242 3 call write$vinq(char);
|
||
243 3 return;
|
||
244 3 end;
|
||
245 2 call read$change$mxq(ccb.vcmxq);
|
||
246 2 ccb.state = ccb.state xor csm$ctrlO;
|
||
247 2 call write$change$mxq(ccb.vcmxq);
|
||
248 2 call wake$vout(@ccb);
|
||
249 2 call pxios1(mx$upstatus, 0, 0);
|
||
250 2 end controlO;
|
||
|
||
251 1 turn$off$ctrlO: procedure;
|
||
252 2 call read$change$mxq(ccb.vcmxq);
|
||
253 2 ccb.state = ccb.state and not double(csm$ctrlO);
|
||
254 2 call write$change$mxq(ccb.vcmxq);
|
||
255 2 call wake$vout(@ccb);
|
||
256 2 call pxios1(mx$upstatus, 0, 0);
|
||
257 2 end turn$off$ctrlO;
|
||
|
||
258 1 controlS: procedure;
|
||
259 2 if (pd.flag and pf$noctls) <> 0 then /* special condition for CLI day */
|
||
260 2 return; /* file logging */
|
||
261 2 if (pd.conmode and pcm$ctlS) <> 0 then
|
||
262 2 do;
|
||
263 3 call write$vinq(char);
|
||
264 3 return;
|
||
265 3 end;
|
||
266 2 call read$change$mxq(ccb.vcmxq);
|
||
267 2 ccb.state = ccb.state and not double(csm$ctrlO) or csm$ctrlS;
|
||
/* control S turns off control O */
|
||
268 2 call pxios1(mx$upstatus, 0, 0);
|
||
269 2 call write$change$mxq(ccb.vcmxq);
|
||
270 2 controlS$has$been$pressed = true;
|
||
271 2 end controlS;
|
||
|
||
272 1 controlQ: procedure;
|
||
273 2 call read$change$mxq(ccb.vcmxq);
|
||
274 2 ccb.state = ccb.state and not double(csm$ctrlS);
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 13
|
||
|
||
|
||
275 2 call write$change$mxq(ccb.vcmxq);
|
||
276 2 call wake$vout(@ccb);
|
||
277 2 call wakeup(.ccb.usleep);
|
||
278 2 call pxios1(mx$upstatus, 0, 0);
|
||
279 2 controlS$has$been$pressed = false;
|
||
280 2 end controlQ;
|
||
|
||
281 1 controlP: procedure;
|
||
282 2 if (pd.conmode and pcm$rout) <> 0 then /* control P is ignored if console */
|
||
283 2 do;
|
||
284 3 call write$vinq(char);
|
||
285 3 return; /* mode is raw output */
|
||
286 3 end;
|
||
287 2 call turn$off$ctrlO;
|
||
288 2 call read$change$mxq(ccb.vcmxq);
|
||
289 2 if (ccb.state and csm$ctrlP) = 0 then /* turn control P on */
|
||
290 2 do;
|
||
291 3 lcb$ptr.offset = sd.lcb + pd.lst * size(lcb);
|
||
292 3 disable;
|
||
293 3 if lcb.attach = 0 then
|
||
294 3 do;
|
||
295 4 lcb.attach = 0ffffh;
|
||
296 4 lcb.msource = screen;
|
||
297 4 ccb.mimic = pd.lst;
|
||
298 4 ccb.state = ccb.state or csm$ctrlP;
|
||
299 4 enable;
|
||
300 4 end;
|
||
else
|
||
301 3 do;
|
||
302 4 enable;
|
||
303 4 call set$conout$flag(@ccb);
|
||
304 4 call print$msg(0ffh,0,@(cr,lf,'Printer Busy',cr,lf,0));
|
||
305 4 ccb.column,ccb.startcol = 0; /* for function 10 */
|
||
306 4 call reset$conout$flag(@ccb);
|
||
307 4 end;
|
||
308 3 end;
|
||
else /* turn off control P */
|
||
309 2 do;
|
||
310 3 disable;
|
||
311 3 lcb$ptr.offset = sd.lcb + ccb.mimic * size(lcb);
|
||
312 3 lcb.attach = 0;
|
||
313 3 lcb.msource,ccb.mimic = 0ffh;
|
||
314 3 ccb.state = ccb.state and not double(csm$ctrlP);
|
||
315 3 ccb.flag = ccb.flag and not cf$bufp;
|
||
|
||
316 3 call wakeup(.lcb.queue);
|
||
317 3 enable;
|
||
318 3 end;
|
||
319 2 call write$change$mxq(ccb.vcmxq);
|
||
320 2 call pxios1(mx$upstatus, 0, 0);
|
||
321 2 end controlP;
|
||
|
||
322 1 raw: procedure boolean;
|
||
323 2 if (pd$ptr.offset := ccb.attach) = 0 then /* 0 during initialization */
|
||
324 2 return(true);
|
||
325 2 if (pd.flag and pf$raw) = 0 then /* set by function 6 only */
|
||
326 2 return(false);
|
||
327 2 call controlQ; /* avoid deadlock if user is mixing func 6 */
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 14
|
||
|
||
|
||
328 2 return(true); /* other console I/O calls */
|
||
329 2 end raw;
|
||
|
||
330 1 plmstart: procedure public;
|
||
|
||
331 2 sysdat$ptr.segment, lcb$ptr.segment, ccb$ptr.segment = rsp$link;
|
||
/* init pointers */
|
||
332 2 ccb$ptr.offset = sd.ccb; /* CCB 0 is first in the table */
|
||
333 2 pd$pointer = mon4(m$getpd, 0);
|
||
334 2 screen = 0; /* initial foreground console is 0 */
|
||
|
||
335 2 do forever;
|
||
336 3 call conin;
|
||
337 3 if char$type = ct$switch then
|
||
338 3 call switch;
|
||
339 3 else if char$type = ct$data then
|
||
340 3 do;
|
||
341 4 if raw then
|
||
342 4 call write$vinq(char);
|
||
else
|
||
343 4 do;
|
||
344 5 if controlS$has$been$pressed then
|
||
345 5 do;
|
||
346 6 if char = ctrlC then
|
||
347 6 call controlC;
|
||
348 6 else if char = ctrlQ then
|
||
349 6 call controlQ;
|
||
350 6 else if char = ctrlP then
|
||
351 6 call controlP;
|
||
else
|
||
352 6 do;
|
||
353 7 call set$conout$flag(ccb$pointer); /* guard against unlikely */
|
||
354 7 call pxios1(mx$conout,bell,screen); /* race condition */
|
||
355 7 call reset$conout$flag(ccb$pointer);
|
||
356 7 end;
|
||
357 6 end;
|
||
else
|
||
358 5 do; /* controlS has not been pressed */
|
||
359 6 if char = ctrlC then
|
||
360 6 call controlC;
|
||
361 6 else if char = ctrlS then
|
||
362 6 call controlS;
|
||
363 6 else if char = ctrlO then
|
||
364 6 call controlO;
|
||
365 6 else if char = ctrlP then
|
||
366 6 call controlP;
|
||
else
|
||
367 6 do;
|
||
368 7 if (ccb.state and csm$ctrlO) <> 0 then
|
||
369 7 call turn$off$ctrlO;
|
||
370 7 call write$vinq(char);
|
||
371 7 end;
|
||
372 6 end;
|
||
373 5 end;/* else (if not raw) */
|
||
374 4 end; /* if char$type <> ct$data and char$type <> ct$switch then */
|
||
/* XIOS console input is ignored */
|
||
end; /* do forever */
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 15
|
||
|
||
|
||
|
||
376 2 end plmstart;
|
||
377 1 end pin;
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 16
|
||
|
||
|
||
CROSS-REFERENCE LISTING
|
||
-----------------------
|
||
|
||
DEFN ADDR SIZE NAME, ATTRIBUTES, AND REFERENCES
|
||
----- ------ ----- --------------------------------
|
||
|
||
63 0000H 2 A. . . . . . . . . . . WORD PARAMETER 64
|
||
60 0000H 2 A. . . . . . . . . . . WORD PARAMETER 61
|
||
69 0000H 2 A. . . . . . . . . . . WORD PARAMETER 70
|
||
66 0000H 2 A. . . . . . . . . . . WORD PARAMETER 67
|
||
20 0021H 1 ABORT. . . . . . . . . BYTE MEMBER(PD)
|
||
58 0028H 6 APB. . . . . . . . . . STRUCTURE INITIAL 211 212
|
||
112 0000H 2 ATTACH . . . . . . . . WORD MEMBER(CCB)
|
||
122 0000H 2 ATTACH . . . . . . . . WORD MEMBER(CCB)
|
||
128 0000H 2 ATTACH . . . . . . . . WORD MEMBER(CCB)
|
||
44 0000H 2 ATTACH . . . . . . . . WORD MEMBER(LCB) 293 295 312
|
||
39 0000H 2 ATTACH . . . . . . . . WORD MEMBER(CCB) 211 323
|
||
41 0000H 2 ATTACH . . . . . . . . WORD MEMBER(OLDCCB)
|
||
24 BELL . . . . . . . . . LITERALLY 146 354
|
||
2 BOOLEAN. . . . . . . . LITERALLY 155 322
|
||
122 000CH 1 BTMP . . . . . . . . . BYTE MEMBER(CCB)
|
||
39 000CH 1 BTMP . . . . . . . . . BYTE MEMBER(CCB)
|
||
112 000CH 1 BTMP . . . . . . . . . BYTE MEMBER(CCB)
|
||
128 000CH 1 BTMP . . . . . . . . . BYTE MEMBER(CCB)
|
||
41 000CH 1 BTMP . . . . . . . . . BYTE MEMBER(OLDCCB)
|
||
56 0006H 2 BUFFPTR. . . . . . . . WORD MEMBER(QPB) 132 135 142 204
|
||
72 0000H 2 BX . . . . . . . . . . WORD PARAMETER 73
|
||
139 0004H 1 C. . . . . . . . . . . BYTE PARAMETER AUTOMATIC 140 142
|
||
122 0000H 44 CCB. . . . . . . . . . STRUCTURE BASED(CCBPTR) 123 124
|
||
39 0000H 44 CCB. . . . . . . . . . STRUCTURE BASED(CCBPOINTER) 141 145 147 153 159 161
|
||
169 170 176 177 179 180 183 184 198 199 201 202 203
|
||
207 208 209 210 211 227 235 236 245 246 247 248 252
|
||
253 254 255 266 267 269 273 274 275 276 277 288 289
|
||
297 298 303 305 306 311 313 314 315 319 323 368
|
||
9 0054H 2 CCB. . . . . . . . . . WORD MEMBER(SD) 153 332
|
||
128 0000H 44 CCB. . . . . . . . . . STRUCTURE BASED(CCBPTR) 129 131 134 137
|
||
112 0000H 44 CCB. . . . . . . . . . STRUCTURE BASED(CCBPTR) 114 115 117
|
||
35 0008H 2 CCB. . . . . . . . . . WORD MEMBER(XINIT)
|
||
37 000CH 4 CCBPOINTER . . . . . . POINTER 38 39 141 145 147 152 159 161 169 170
|
||
176 177 179 180 182 183 184 198 199 201 202 203 207
|
||
208 209 210 211 227 235 236 245 246 247 248 252 253
|
||
254 255 266 267 269 273 274 275 276 277 288 289 297
|
||
298 303 305 306 311 313 314 315 319 323 353 355 368
|
||
126 0004H 4 CCBPTR . . . . . . . . POINTER PARAMETER AUTOMATIC 127 128 129 131 134 137
|
||
110 0004H 4 CCBPTR . . . . . . . . POINTER PARAMETER AUTOMATIC 111 112 114 115 117
|
||
38 000CH 4 CCBPTR . . . . . . . . STRUCTURE AT 153 331 332
|
||
120 0004H 4 CCBPTR . . . . . . . . POINTER PARAMETER AUTOMATIC 121 122 123 124
|
||
30 CCBSTRUCTURE . . . . . LITERALLY 39 41 112 122 128
|
||
31 CCBTAIL1 . . . . . . . LITERALLY 39 41 112 122 128
|
||
32 CCBTAIL2 . . . . . . . LITERALLY 39 41 112 122 128
|
||
33 CFBUFP . . . . . . . . LITERALLY 315
|
||
33 CFCOMPC. . . . . . . . LITERALLY
|
||
33 CFCONOUT . . . . . . . LITERALLY 114 117 123
|
||
33 CFLISTCP . . . . . . . LITERALLY
|
||
33 CFSWITCHS. . . . . . . LITERALLY
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 17
|
||
|
||
|
||
33 CFVOUT . . . . . . . . LITERALLY
|
||
59 002EH 1 CHAR . . . . . . . . . BYTE AT 157 161 163 195 242 263 284 342 346 348
|
||
350 359 361 363 365 370
|
||
59 002EH 2 CHARS. . . . . . . . . BYTE ARRAY(2) AT 59
|
||
59 002FH 1 CHARTYPE . . . . . . . BYTE AT 337 339
|
||
9 0090H 1 CMOD . . . . . . . . . BYTE MEMBER(SD)
|
||
20 0020H 1 CNS. . . . . . . . . . BYTE MEMBER(PD)
|
||
58 0004H 1 CNS. . . . . . . . . . BYTE MEMBER(APB)
|
||
21 0000H 1 CNSNUM . . . . . . . . BYTE EXTERNAL(1) AT
|
||
39 0006H 1 COLUMN . . . . . . . . BYTE MEMBER(CCB) 235 305
|
||
112 0006H 1 COLUMN . . . . . . . . BYTE MEMBER(CCB)
|
||
122 0006H 1 COLUMN . . . . . . . . BYTE MEMBER(CCB)
|
||
44 0006H 1 COLUMN . . . . . . . . BYTE MEMBER(LCB)
|
||
41 0006H 1 COLUMN . . . . . . . . BYTE MEMBER(OLDCCB)
|
||
128 0006H 1 COLUMN . . . . . . . . BYTE MEMBER(CCB)
|
||
81 0000H 20 CONIN. . . . . . . . . PROCEDURE STACK=000AH 336
|
||
20 0022H 2 CONMODE. . . . . . . . WORD MEMBER(PD) 193 240 261 282
|
||
190 02E1H 407 CONTROLC . . . . . . . PROCEDURE STACK=001EH 347 360
|
||
239 0478H 79 CONTROLO . . . . . . . PROCEDURE STACK=001EH 364
|
||
281 05ACH 277 CONTROLP . . . . . . . PROCEDURE STACK=001EH 351 366
|
||
272 0566H 70 CONTROLQ . . . . . . . PROCEDURE STACK=0018H 327 349
|
||
258 04FDH 105 CONTROLS . . . . . . . PROCEDURE STACK=001EH 362
|
||
155 0038H 1 CONTROLSHASBEENPRESSED BYTE INITIAL 185 186 200 270 279 344
|
||
128 0022H 2 COSLEEP. . . . . . . . WORD MEMBER(CCB)
|
||
39 0022H 2 COSLEEP. . . . . . . . WORD MEMBER(CCB)
|
||
41 0022H 2 COSLEEP. . . . . . . . WORD MEMBER(OLDCCB)
|
||
112 0022H 2 COSLEEP. . . . . . . . WORD MEMBER(CCB) 115
|
||
122 0022H 2 COSLEEP. . . . . . . . WORD MEMBER(CCB) 124
|
||
2 CR . . . . . . . . . . LITERALLY 228 234 304
|
||
34 CSMABORT . . . . . . . LITERALLY 202
|
||
34 CSMBACKGROUND. . . . . LITERALLY 166 176
|
||
34 CSMBUFFERED. . . . . . LITERALLY 129 174 177
|
||
34 CSMCTRLO . . . . . . . LITERALLY 199 246 253 267 368
|
||
34 CSMCTRLP . . . . . . . LITERALLY 289 298 314
|
||
34 CSMCTRLS . . . . . . . LITERALLY 184 199 267 274
|
||
34 CSMFILEFULL. . . . . . LITERALLY 179
|
||
34 CSMNOSWITCH. . . . . . LITERALLY 159
|
||
34 CSMPURGING . . . . . . LITERALLY 167 168 179 201 202
|
||
34 CSMSUSPEND . . . . . . LITERALLY
|
||
59 CTDATA . . . . . . . . LITERALLY 339
|
||
22 CTRLC. . . . . . . . . LITERALLY 346 359
|
||
23 CTRLD. . . . . . . . . LITERALLY
|
||
25 CTRLO. . . . . . . . . LITERALLY 363
|
||
26 CTRLP. . . . . . . . . LITERALLY 350 365
|
||
27 CTRLQ. . . . . . . . . LITERALLY 348
|
||
28 CTRLS. . . . . . . . . LITERALLY 361
|
||
59 CTSWITCH . . . . . . . LITERALLY 337
|
||
191 0032H 2 CURDRIVE . . . . . . . WORD 214 217 218 223
|
||
59 002EH 2 CWORD. . . . . . . . . WORD 59 82
|
||
72 0000H 2 CX . . . . . . . . . . WORD PARAMETER 73
|
||
9 004FH 1 DAYFILE. . . . . . . . BYTE MEMBER(SD)
|
||
2 DCL. . . . . . . . . . LITERALLY
|
||
9 006AH 2 DLR. . . . . . . . . . WORD MEMBER(SD)
|
||
35 0002H 1 DOOR . . . . . . . . . BYTE MEMBER(XINIT)
|
||
DOUBLE . . . . . . . . BUILTIN 168 176 179 199 202 253 267 274 314
|
||
189 0039H 17 DRIVELETTERS . . . . . BYTE ARRAY(17) INITIAL 220 229 232
|
||
9 006CH 2 DRL. . . . . . . . . . WORD MEMBER(SD)
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 18
|
||
|
||
|
||
20 0012H 1 DSK. . . . . . . . . . BYTE MEMBER(PD)
|
||
20 0018H 2 DVRACT . . . . . . . . WORD MEMBER(PD)
|
||
72 0000H 2 DX . . . . . . . . . . WORD PARAMETER 73
|
||
84 0008H 1 ENDCHAR. . . . . . . . BYTE PARAMETER AUTOMATIC 85 87
|
||
9 0044H 2 ENDSEG . . . . . . . . WORD MEMBER(SD)
|
||
29 ESC. . . . . . . . . . LITERALLY
|
||
2 FALSE. . . . . . . . . LITERALLY 155 186 200 279 326
|
||
44 0004H 1 FLAG . . . . . . . . . BYTE MEMBER(LCB)
|
||
39 0004H 1 FLAG . . . . . . . . . BYTE MEMBER(CCB) 315
|
||
112 0004H 1 FLAG . . . . . . . . . BYTE MEMBER(CCB) 114 117
|
||
122 0004H 1 FLAG . . . . . . . . . BYTE MEMBER(CCB) 123
|
||
41 0004H 1 FLAG . . . . . . . . . BYTE MEMBER(OLDCCB)
|
||
20 0006H 2 FLAG . . . . . . . . . WORD MEMBER(PD) 259 325
|
||
128 0004H 1 FLAG . . . . . . . . . BYTE MEMBER(CCB)
|
||
9 0056H 2 FLAGS. . . . . . . . . WORD MEMBER(SD)
|
||
56 0000H 1 FLGS . . . . . . . . . BYTE MEMBER(QPB)
|
||
2 FOREVER. . . . . . . . LITERALLY 335
|
||
78 0000H 2 FUNC . . . . . . . . . WORD PARAMETER 79
|
||
66 0000H 1 FUNC . . . . . . . . . BYTE PARAMETER 67
|
||
63 0000H 1 FUNC . . . . . . . . . BYTE PARAMETER 64
|
||
60 0000H 1 FUNC . . . . . . . . . BYTE PARAMETER 61
|
||
75 0000H 2 FUNC . . . . . . . . . WORD PARAMETER 76
|
||
69 0000H 1 FUNC . . . . . . . . . BYTE PARAMETER 70
|
||
85 0037H 1 I. . . . . . . . . . . BYTE 86 87 88 89
|
||
72 0000H INTSYS . . . . . . . . PROCEDURE EXTERNAL(6) STACK=0000H 104 108
|
||
191 0030H 2 JUNK . . . . . . . . . WORD 204 216 220 230 232
|
||
44 0000H 10 LCB. . . . . . . . . . STRUCTURE BASED(LCBPOINTER) 291 293 295 296 311 312
|
||
313 316
|
||
9 0086H 2 LCB. . . . . . . . . . WORD MEMBER(SD) 291 311
|
||
35 000AH 2 LCB. . . . . . . . . . WORD MEMBER(XINIT)
|
||
42 0014H 4 LCBPOINTER . . . . . . POINTER 43 44 293 295 296 312 313 316
|
||
43 0014H 4 LCBPTR . . . . . . . . STRUCTURE AT 291 311 331
|
||
36 LCBSTRUCTURE . . . . . LITERALLY 44
|
||
20 0014H 1 LDSK . . . . . . . . . BYTE MEMBER(PD)
|
||
84 000AH 1 LEN. . . . . . . . . . BYTE PARAMETER AUTOMATIC 85 87
|
||
192 004AH 1 LETTERINDEX. . . . . . BYTE 215 220 221 225 230
|
||
2 LF . . . . . . . . . . LITERALLY 228 234 304
|
||
20 0000H 2 LINK . . . . . . . . . WORD MEMBER(PD)
|
||
106 0004H 2 LISTROOT . . . . . . . WORD PARAMETER AUTOMATIC 107 108
|
||
102 0004H 2 LISTROOT . . . . . . . WORD PARAMETER AUTOMATIC 103 104
|
||
2 LIT. . . . . . . . . . LITERALLY 2 4 5 6 11 15 16 17 22 23
|
||
24 25 26 27 28 29 30 31 32 33 34 35 36
|
||
46 47 48 49 50 51 52 53 54 55 59
|
||
9 008AH 1 LOCKMAX. . . . . . . . BYTE MEMBER(SD)
|
||
191 0034H 2 LOGGEDINDRIVES . . . . WORD 213 217
|
||
20 0024H 1 LST. . . . . . . . . . BYTE MEMBER(PD) 291 297
|
||
9 0052H 2 LUL. . . . . . . . . . WORD MEMBER(SD)
|
||
20 0015H 1 LUSER. . . . . . . . . BYTE MEMBER(PD)
|
||
4 MABORT . . . . . . . . LITERALLY 212
|
||
9 0076H 2 MAL. . . . . . . . . . WORD MEMBER(SD)
|
||
128 0010H 2 MAXBUFSIZ. . . . . . . WORD MEMBER(CCB)
|
||
112 0010H 2 MAXBUFSIZ. . . . . . . WORD MEMBER(CCB)
|
||
39 0010H 2 MAXBUFSIZ. . . . . . . WORD MEMBER(CCB)
|
||
122 0010H 2 MAXBUFSIZ. . . . . . . WORD MEMBER(CCB)
|
||
41 0010H 2 MAXBUFSIZ. . . . . . . WORD MEMBER(OLDCCB)
|
||
4 MCLOSEF. . . . . . . . LITERALLY
|
||
4 MCREADQ. . . . . . . . LITERALLY 205
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 19
|
||
|
||
|
||
4 MCURDSK. . . . . . . . LITERALLY
|
||
4 MCWRITEQ . . . . . . . LITERALLY 133 136 143
|
||
4 MDELAY . . . . . . . . LITERALLY
|
||
4 MDELETEF . . . . . . . LITERALLY
|
||
4 MDELETEQ . . . . . . . LITERALLY
|
||
4 MDETACH. . . . . . . . LITERALLY
|
||
4 MDIRBIOS . . . . . . . LITERALLY
|
||
4 MDISPATCH. . . . . . . LITERALLY
|
||
9 0058H 2 MDUL . . . . . . . . . WORD MEMBER(SD)
|
||
20 0016H 2 MEM. . . . . . . . . . WORD MEMBER(PD)
|
||
4 MERRMODE . . . . . . . LITERALLY
|
||
9 005AH 2 MFL. . . . . . . . . . WORD MEMBER(SD)
|
||
4 MGETCNS. . . . . . . . LITERALLY
|
||
4 MGETLOGIN. . . . . . . LITERALLY 213
|
||
4 MGETPD . . . . . . . . LITERALLY 333
|
||
122 0008H 1 MIMIC. . . . . . . . . BYTE MEMBER(CCB)
|
||
41 0008H 1 MIMIC. . . . . . . . . BYTE MEMBER(OLDCCB)
|
||
44 0008H 1 MIMIC. . . . . . . . . BYTE MEMBER(LCB)
|
||
39 0008H 1 MIMIC. . . . . . . . . BYTE MEMBER(CCB) 297 311 313
|
||
112 0008H 1 MIMIC. . . . . . . . . BYTE MEMBER(CCB)
|
||
128 0008H 1 MIMIC. . . . . . . . . BYTE MEMBER(CCB)
|
||
5 MISLEEP. . . . . . . . LITERALLY 104
|
||
5 MIWAKEUP . . . . . . . LITERALLY 108
|
||
4 MMAKEF . . . . . . . . LITERALLY
|
||
4 MMAKEQ . . . . . . . . LITERALLY
|
||
9 004CH 2 MMP. . . . . . . . . . WORD MEMBER(SD)
|
||
9 0046H 1 MODULEMAP. . . . . . . BYTE MEMBER(SD)
|
||
60 0000H MON1 . . . . . . . . . PROCEDURE EXTERNAL(2) STACK=0000H 95 100 133 136 212
|
||
63 0000H MON2 . . . . . . . . . PROCEDURE BYTE EXTERNAL(3) STACK=0000H 205 218
|
||
66 0000H MON3 . . . . . . . . . PROCEDURE WORD EXTERNAL(4) STACK=0000H 143 213
|
||
69 0000H MON4 . . . . . . . . . PROCEDURE POINTER EXTERNAL(5) STACK=0000H 333
|
||
4 MOPENF . . . . . . . . LITERALLY
|
||
4 MOPENQ . . . . . . . . LITERALLY
|
||
4 MPARSE . . . . . . . . LITERALLY
|
||
9 0040H 2 MPMSEG . . . . . . . . WORD MEMBER(SD)
|
||
9 007CH 2 MPMVERNUM. . . . . . . WORD MEMBER(SD)
|
||
4 MPRTBUF. . . . . . . . LITERALLY
|
||
4 MREADF . . . . . . . . LITERALLY
|
||
4 MREADQ . . . . . . . . LITERALLY 95
|
||
4 MREADRF. . . . . . . . LITERALLY
|
||
4 MRESETDRV. . . . . . . LITERALLY 218
|
||
4 MSELECT. . . . . . . . LITERALLY
|
||
4 MSETATT. . . . . . . . LITERALLY
|
||
4 MSETCNS. . . . . . . . LITERALLY
|
||
4 MSETDMA. . . . . . . . LITERALLY
|
||
4 MSETPRIOR. . . . . . . LITERALLY
|
||
4 MSETUSR. . . . . . . . LITERALLY
|
||
128 0009H 1 MSOURCE. . . . . . . . BYTE MEMBER(CCB)
|
||
112 0009H 1 MSOURCE. . . . . . . . BYTE MEMBER(CCB)
|
||
41 0009H 1 MSOURCE. . . . . . . . BYTE MEMBER(OLDCCB)
|
||
44 0009H 1 MSOURCE. . . . . . . . BYTE MEMBER(LCB) 296 313
|
||
39 0009H 1 MSOURCE. . . . . . . . BYTE MEMBER(CCB)
|
||
122 0009H 1 MSOURCE. . . . . . . . BYTE MEMBER(CCB)
|
||
4 MSYSDAT. . . . . . . . LITERALLY
|
||
4 MWRITEF. . . . . . . . LITERALLY
|
||
4 MWRITEQ. . . . . . . . LITERALLY 100
|
||
4 MWRITERF . . . . . . . LITERALLY
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 20
|
||
|
||
|
||
6 MXCONIN. . . . . . . . LITERALLY 82
|
||
6 MXCONOUT . . . . . . . LITERALLY 88 146 354
|
||
6 MXLSTOUT . . . . . . . LITERALLY
|
||
6 MXSWITCH . . . . . . . LITERALLY 171
|
||
6 MXUPSTATUS . . . . . . LITERALLY 187 249 256 268 278 320
|
||
56 0008H 8 NAME . . . . . . . . . BYTE ARRAY(8) MEMBER(QPB)
|
||
20 0008H 8 NAME . . . . . . . . . BYTE ARRAY(8) MEMBER(PD)
|
||
35 0006H 1 NCCB . . . . . . . . . BYTE MEMBER(XINIT)
|
||
9 0049H 1 NCCB . . . . . . . . . BYTE MEMBER(SD)
|
||
128 0007H 1 NCHAR. . . . . . . . . BYTE MEMBER(CCB)
|
||
122 0007H 1 NCHAR. . . . . . . . . BYTE MEMBER(CCB)
|
||
112 0007H 1 NCHAR. . . . . . . . . BYTE MEMBER(CCB)
|
||
44 0007H 1 NCHAR. . . . . . . . . BYTE MEMBER(LCB)
|
||
41 0007H 1 NCHAR. . . . . . . . . BYTE MEMBER(OLDCCB)
|
||
39 0007H 1 NCHAR. . . . . . . . . BYTE MEMBER(CCB) 207
|
||
11 NCIODEV. . . . . . . . LITERALLY
|
||
9 0085H 1 NCIODEV. . . . . . . . BYTE MEMBER(SD)
|
||
9 0047H 1 NCNS . . . . . . . . . BYTE MEMBER(SD) 157
|
||
11 NCONDEV. . . . . . . . LITERALLY
|
||
9 0083H 1 NCONDEV. . . . . . . . BYTE MEMBER(SD)
|
||
21 0000H 1 NCOPIES. . . . . . . . BYTE EXTERNAL(1) 21
|
||
20 001DH 1 NET. . . . . . . . . . BYTE MEMBER(PD)
|
||
56 0001H 1 NET. . . . . . . . . . BYTE MEMBER(QPB)
|
||
9 004AH 1 NFLAGS . . . . . . . . BYTE MEMBER(SD)
|
||
35 0007H 1 NLST . . . . . . . . . BYTE MEMBER(XINIT)
|
||
9 0048H 1 NLST . . . . . . . . . BYTE MEMBER(SD)
|
||
11 NLSTDEV. . . . . . . . LITERALLY
|
||
9 0084H 1 NLSTDEV. . . . . . . . BYTE MEMBER(SD)
|
||
56 0004H 2 NMSGS. . . . . . . . . WORD MEMBER(QPB)
|
||
2 NO . . . . . . . . . . LITERALLY
|
||
9 004EH 1 NSLAVES. . . . . . . . BYTE MEMBER(SD)
|
||
57 0000H 2 NULL . . . . . . . . . WORD DATA 132 135
|
||
35 0005H 1 NVCNS. . . . . . . . . BYTE MEMBER(XINIT)
|
||
8 0000H 2 OFFSET . . . . . . . . WORD MEMBER(SYSDATPTR)
|
||
19 0000H 2 OFFSET . . . . . . . . WORD MEMBER(PDPTR) 323
|
||
43 0000H 2 OFFSET . . . . . . . . WORD MEMBER(LCBPTR) 291 311
|
||
38 0000H 2 OFFSET . . . . . . . . WORD MEMBER(CCBPTR) 153 332
|
||
35 0000H 2 OFFSET . . . . . . . . WORD MEMBER(XINITPTR)
|
||
41 0000H 44 OLDCCB . . . . . . . . STRUCTURE BASED(OLDCCBPOINTER) 164 165 166 167 168 173
|
||
174 175
|
||
40 0010H 4 OLDCCBPOINTER. . . . . POINTER 41 152 164 165 166 167 168 172 173 174
|
||
175
|
||
9 008BH 1 OPENMAX. . . . . . . . BYTE MEMBER(SD)
|
||
9 0088H 2 OPENVEC. . . . . . . . WORD MEMBER(SD)
|
||
20 001CH 1 ORG. . . . . . . . . . BYTE MEMBER(PD)
|
||
78 0000H 2 P1 . . . . . . . . . . WORD PARAMETER 79
|
||
75 0000H 2 P1 . . . . . . . . . . WORD PARAMETER 76
|
||
78 0000H 2 P2 . . . . . . . . . . WORD PARAMETER 79
|
||
75 0000H 2 P2 . . . . . . . . . . WORD PARAMETER 76
|
||
20 001EH 2 PARENT . . . . . . . . WORD MEMBER(PD)
|
||
128 000AH 1 PC . . . . . . . . . . BYTE MEMBER(CCB)
|
||
112 000AH 1 PC . . . . . . . . . . BYTE MEMBER(CCB)
|
||
122 000AH 1 PC . . . . . . . . . . BYTE MEMBER(CCB)
|
||
41 000AH 1 PC . . . . . . . . . . BYTE MEMBER(OLDCCB)
|
||
39 000AH 1 PC . . . . . . . . . . BYTE MEMBER(CCB)
|
||
17 PCM11. . . . . . . . . LITERALLY
|
||
17 PCMCTLC. . . . . . . . LITERALLY 193
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 21
|
||
|
||
|
||
17 PCMCTLO. . . . . . . . LITERALLY 240
|
||
17 PCMCTLS. . . . . . . . LITERALLY 261
|
||
17 PCMROUT. . . . . . . . LITERALLY 282
|
||
17 PCMRSX . . . . . . . . LITERALLY
|
||
20 0000H 48 PD . . . . . . . . . . STRUCTURE BASED(PDPOINTER) 193 240 259 261 282 291
|
||
297 325
|
||
58 0000H 2 PD . . . . . . . . . . WORD MEMBER(APB) 211
|
||
13 PDHDR. . . . . . . . . LITERALLY 20
|
||
18 0004H 4 PDPOINTER. . . . . . . POINTER 19 20 193 240 259 261 282 291 297 325
|
||
333
|
||
19 0004H 4 PDPTR. . . . . . . . . STRUCTURE AT 323
|
||
14 PDSTRUCTURE. . . . . . LITERALLY 20
|
||
16 PFACTIVE . . . . . . . LITERALLY
|
||
16 PFCHILDABORT . . . . . LITERALLY
|
||
16 PFCTLC . . . . . . . . LITERALLY
|
||
16 PFCTLD . . . . . . . . LITERALLY
|
||
16 PFKEEP . . . . . . . . LITERALLY
|
||
16 PFKERNAL . . . . . . . LITERALLY
|
||
16 PFNOCTLS . . . . . . . LITERALLY 259
|
||
16 PFPURE . . . . . . . . LITERALLY
|
||
16 PFRAW. . . . . . . . . LITERALLY 325
|
||
16 PFRESOURCE . . . . . . LITERALLY
|
||
|
||
16 PFSYS. . . . . . . . . LITERALLY
|
||
16 PFTABLE. . . . . . . . LITERALLY
|
||
16 PFTEMPKEEP . . . . . . LITERALLY
|
||
1 0000H PIN. . . . . . . . . . PROCEDURE STACK=0000H
|
||
330 06EEH 229 PLMSTART . . . . . . . PROCEDURE PUBLIC STACK=0022H
|
||
9 006EH 2 PLR. . . . . . . . . . WORD MEMBER(SD)
|
||
12 PNAMSIZ. . . . . . . . LITERALLY
|
||
20 002CH 2 PRET . . . . . . . . . WORD MEMBER(PD)
|
||
84 0014H 76 PRINTMSG . . . . . . . PROCEDURE STACK=0012H 228 229 231 232 234 304
|
||
20 0005H 1 PRIOR. . . . . . . . . BYTE MEMBER(PD)
|
||
15 PSCIOWAIT. . . . . . . LITERALLY 104
|
||
15 PSDELAY. . . . . . . . LITERALLY
|
||
15 PSDQ . . . . . . . . . LITERALLY
|
||
15 PSFLAGWAIT . . . . . . LITERALLY
|
||
15 PSNQ . . . . . . . . . LITERALLY
|
||
15 PSPOLL . . . . . . . . LITERALLY
|
||
15 PSRUN. . . . . . . . . LITERALLY
|
||
15 PSSLEEP. . . . . . . . LITERALLY
|
||
15 PSSWAP . . . . . . . . LITERALLY
|
||
15 PSTERM . . . . . . . . LITERALLY
|
||
9 005CH 2 PUL. . . . . . . . . . WORD MEMBER(SD)
|
||
75 0000H PXIOS1 . . . . . . . . PROCEDURE EXTERNAL(7) STACK=0000H 88 146 171 187 249
|
||
256 268 278 320 354
|
||
78 0000H PXIOS3 . . . . . . . . PROCEDURE WORD EXTERNAL(8) STACK=0000H 82
|
||
97 0004H 2 QADDR. . . . . . . . . WORD PARAMETER AUTOMATIC 98 99
|
||
92 0004H 2 QADDR. . . . . . . . . WORD PARAMETER AUTOMATIC 93 94
|
||
56 0002H 2 QADDR. . . . . . . . . WORD MEMBER(QPB) 94 99 131 134 141 203
|
||
122 0020H 2 QBUFF. . . . . . . . . WORD MEMBER(CCB)
|
||
112 0020H 2 QBUFF. . . . . . . . . WORD MEMBER(CCB)
|
||
41 0020H 2 QBUFF. . . . . . . . . WORD MEMBER(OLDCCB)
|
||
39 0020H 2 QBUFF. . . . . . . . . WORD MEMBER(CCB)
|
||
128 0020H 2 QBUFF. . . . . . . . . WORD MEMBER(CCB)
|
||
47 QDSTRUCTURE. . . . . . LITERALLY
|
||
54 QFDEV. . . . . . . . . LITERALLY
|
||
50 QFHIDE . . . . . . . . LITERALLY
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 22
|
||
|
||
|
||
49 QFKEEP . . . . . . . . LITERALLY
|
||
48 QFMX . . . . . . . . . LITERALLY
|
||
53 QFRPL. . . . . . . . . LITERALLY
|
||
51 QFRSP. . . . . . . . . LITERALLY
|
||
52 QFTABLE. . . . . . . . LITERALLY
|
||
9 0074H 2 QLR. . . . . . . . . . WORD MEMBER(SD)
|
||
9 0060H 8 QMAU . . . . . . . . . WORD ARRAY(4) MEMBER(SD)
|
||
46 QNAMSIZ. . . . . . . . LITERALLY 56
|
||
56 0018H 16 QPB. . . . . . . . . . STRUCTURE 94 95 99 100 131 132 133 134 135 136
|
||
141 142 143 203 204 205
|
||
122 001EH 2 QPBBUFFPTR . . . . . . WORD MEMBER(CCB)
|
||
112 001EH 2 QPBBUFFPTR . . . . . . WORD MEMBER(CCB)
|
||
41 001EH 2 QPBBUFFPTR . . . . . . WORD MEMBER(OLDCCB)
|
||
39 001EH 2 QPBBUFFPTR . . . . . . WORD MEMBER(CCB)
|
||
128 001EH 2 QPBBUFFPTR . . . . . . WORD MEMBER(CCB)
|
||
128 0018H 1 QPBFLAGS . . . . . . . BYTE MEMBER(CCB)
|
||
122 0018H 1 QPBFLAGS . . . . . . . BYTE MEMBER(CCB)
|
||
112 0018H 1 QPBFLAGS . . . . . . . BYTE MEMBER(CCB)
|
||
41 0018H 1 QPBFLAGS . . . . . . . BYTE MEMBER(OLDCCB)
|
||
39 0018H 1 QPBFLAGS . . . . . . . BYTE MEMBER(CCB)
|
||
128 001CH 2 QPBNMSGS . . . . . . . WORD MEMBER(CCB)
|
||
122 001CH 2 QPBNMSGS . . . . . . . WORD MEMBER(CCB)
|
||
112 001CH 2 QPBNMSGS . . . . . . . WORD MEMBER(CCB)
|
||
41 001CH 2 QPBNMSGS . . . . . . . WORD MEMBER(OLDCCB)
|
||
39 001CH 2 QPBNMSGS . . . . . . . WORD MEMBER(CCB)
|
||
128 001AH 2 QPBQADDR . . . . . . . WORD MEMBER(CCB)
|
||
122 001AH 2 QPBQADDR . . . . . . . WORD MEMBER(CCB)
|
||
112 001AH 2 QPBQADDR . . . . . . . WORD MEMBER(CCB)
|
||
41 001AH 2 QPBQADDR . . . . . . . WORD MEMBER(OLDCCB)
|
||
39 001AH 2 QPBQADDR . . . . . . . WORD MEMBER(CCB)
|
||
128 0019H 1 QPBRESRVD. . . . . . . BYTE MEMBER(CCB)
|
||
122 0019H 1 QPBRESRVD. . . . . . . BYTE MEMBER(CCB)
|
||
112 0019H 1 QPBRESRVD. . . . . . . BYTE MEMBER(CCB)
|
||
41 0019H 1 QPBRESRVD. . . . . . . BYTE MEMBER(OLDCCB)
|
||
39 0019H 1 QPBRESRVD. . . . . . . BYTE MEMBER(CCB)
|
||
55 QPBSTRUCTURE . . . . . LITERALLY 56
|
||
128 0002H 2 QUEUE. . . . . . . . . WORD MEMBER(CCB)
|
||
122 0002H 2 QUEUE. . . . . . . . . WORD MEMBER(CCB)
|
||
112 0002H 2 QUEUE. . . . . . . . . WORD MEMBER(CCB)
|
||
44 0002H 2 QUEUE. . . . . . . . . WORD MEMBER(LCB) 316
|
||
41 0002H 2 QUEUE. . . . . . . . . WORD MEMBER(OLDCCB)
|
||
39 0002H 2 QUEUE. . . . . . . . . WORD MEMBER(CCB)
|
||
9 005EH 2 QUL. . . . . . . . . . WORD MEMBER(SD)
|
||
122 0028H 2 R1 . . . . . . . . . . WORD MEMBER(CCB)
|
||
112 0028H 2 R1 . . . . . . . . . . WORD MEMBER(CCB)
|
||
41 0028H 2 R1 . . . . . . . . . . WORD MEMBER(OLDCCB)
|
||
39 0028H 2 R1 . . . . . . . . . . WORD MEMBER(CCB)
|
||
128 0028H 2 R1 . . . . . . . . . . WORD MEMBER(CCB)
|
||
122 002AH 2 R2 . . . . . . . . . . WORD MEMBER(CCB)
|
||
112 002AH 2 R2 . . . . . . . . . . WORD MEMBER(CCB)
|
||
41 002AH 2 R2 . . . . . . . . . . WORD MEMBER(OLDCCB)
|
||
39 002AH 2 R2 . . . . . . . . . . WORD MEMBER(CCB)
|
||
128 002AH 2 R2 . . . . . . . . . . WORD MEMBER(CCB)
|
||
322 06C1H 45 RAW. . . . . . . . . . PROCEDURE BYTE STACK=001CH 341
|
||
92 0060H 23 READCHANGEMXQ. . . . . PROCEDURE STACK=000AH 164 169 198 245 252 266 273
|
||
288
|
||
128 000DH 1 RESERVD. . . . . . . . BYTE MEMBER(CCB)
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 23
|
||
|
||
|
||
122 000DH 1 RESERVD. . . . . . . . BYTE MEMBER(CCB)
|
||
20 0028H 4 RESERVD. . . . . . . . BYTE ARRAY(4) MEMBER(PD)
|
||
112 000DH 1 RESERVD. . . . . . . . BYTE MEMBER(CCB)
|
||
41 000DH 1 RESERVD. . . . . . . . BYTE MEMBER(OLDCCB)
|
||
39 000DH 1 RESERVD. . . . . . . . BYTE MEMBER(CCB)
|
||
120 00DFH 22 RESETCONOUTFLAG. . . . PROCEDURE STACK=0014H 147 172 182 236 306 355
|
||
35 0003H 2 RESRVD1. . . . . . . . BYTE ARRAY(2) MEMBER(XINIT)
|
||
9 0068H 2 RLR. . . . . . . . . . WORD MEMBER(SD)
|
||
3 0000H 2 RSPLINK. . . . . . . . WORD EXTERNAL(0) 331
|
||
9 0042H 2 RSPSEG . . . . . . . . WORD MEMBER(SD)
|
||
58 0005H 1 RSRVD. . . . . . . . . BYTE MEMBER(APB)
|
||
20 002EH 2 SCRATCH. . . . . . . . WORD MEMBER(PD)
|
||
45 0036H 1 SCREEN . . . . . . . . BYTE 88 146 163 171 296 334 354
|
||
9 0000H 145 SD . . . . . . . . . . STRUCTURE BASED(SYSDATPOINTER) 153 157 291 311 332
|
||
10 0000H 1 SDBYTE . . . . . . . . BYTE BASED(SYSDATPOINTER) ARRAY(1)
|
||
8 0002H 2 SEGMENT. . . . . . . . WORD MEMBER(SYSDATPTR) 331
|
||
19 0002H 2 SEGMENT. . . . . . . . WORD MEMBER(PDPTR)
|
||
43 0002H 2 SEGMENT. . . . . . . . WORD MEMBER(LCBPTR) 331
|
||
38 0002H 2 SEGMENT. . . . . . . . WORD MEMBER(CCBPTR) 331
|
||
35 0002H 2 SEGMENT. . . . . . . . WORD MEMBER(XINITPTR)
|
||
150 0193H 39 SETCCB . . . . . . . . PROCEDURE STACK=0004H 163
|
||
110 00B8H 39 SETCONOUTFLAG. . . . . PROCEDURE STACK=0014H 145 165 170 227 303 353
|
||
20 0025H 1 SF3. . . . . . . . . . BYTE MEMBER(PD)
|
||
20 0026H 1 SF4. . . . . . . . . . BYTE MEMBER(PD)
|
||
20 0027H 1 SF5. . . . . . . . . . BYTE MEMBER(PD)
|
||
SHL. . . . . . . . . . BUILTIN 223
|
||
SIZE . . . . . . . . . BUILTIN 153 291 311
|
||
102 008EH 21 SLEEP. . . . . . . . . PROCEDURE STACK=000CH 115
|
||
9 0070H 2 SLR. . . . . . . . . . WORD MEMBER(SD)
|
||
9 0008H 56 SPACE1 . . . . . . . . WORD ARRAY(28) MEMBER(SD)
|
||
9 008CH 4 SPACE2 . . . . . . . . WORD ARRAY(2) MEMBER(SD)
|
||
84 0004H 4 SPTR . . . . . . . . . POINTER PARAMETER AUTOMATIC 85 87 88
|
||
9 004BH 1 SRCHDISK . . . . . . . BYTE MEMBER(SD)
|
||
128 0005H 1 STARTCOL . . . . . . . BYTE MEMBER(CCB)
|
||
122 0005H 1 STARTCOL . . . . . . . BYTE MEMBER(CCB)
|
||
112 0005H 1 STARTCOL . . . . . . . BYTE MEMBER(CCB)
|
||
44 0005H 1 STARTCOL . . . . . . . BYTE MEMBER(LCB)
|
||
41 0005H 1 STARTCOL . . . . . . . BYTE MEMBER(OLDCCB)
|
||
39 0005H 1 STARTCOL . . . . . . . BYTE MEMBER(CCB) 235 305
|
||
20 0004H 1 STAT . . . . . . . . . BYTE MEMBER(PD)
|
||
128 000EH 2 STATE. . . . . . . . . WORD MEMBER(CCB) 129
|
||
122 000EH 2 STATE. . . . . . . . . WORD MEMBER(CCB)
|
||
112 000EH 2 STATE. . . . . . . . . WORD MEMBER(CCB)
|
||
41 000EH 2 STATE. . . . . . . . . WORD MEMBER(OLDCCB) 166 167 168 174
|
||
39 000EH 2 STATE. . . . . . . . . WORD MEMBER(CCB) 159 176 177 179 184 199 201 202
|
||
246 253 267 274 289 298 314 368
|
||
85 0000H 1 STRING . . . . . . . . BYTE BASED(SPTR) ARRAY(1) 87 88
|
||
9 0000H 8 SUPMOD . . . . . . . . WORD ARRAY(4) MEMBER(SD)
|
||
156 01BAH 295 SWITCH . . . . . . . . PROCEDURE STACK=0018H 338
|
||
7 0000H 4 SYSDATPOINTER. . . . . POINTER 8 9 10 153 157 291 311 332
|
||
8 0000H 4 SYSDATPTR. . . . . . . STRUCTURE AT 331
|
||
2 TAB. . . . . . . . . . LITERALLY
|
||
9 0050H 1 TEMPDISK . . . . . . . BYTE MEMBER(SD)
|
||
58 0002H 2 TERM . . . . . . . . . WORD MEMBER(APB)
|
||
9 0072H 2 THRDRT . . . . . . . . WORD MEMBER(SD)
|
||
20 0002H 2 THREAD . . . . . . . . WORD MEMBER(PD)
|
||
35 0000H 1 TICK . . . . . . . . . BYTE MEMBER(XINIT)
|
||
PL/M-86 COMPILER PIN RSP - reads characters from keyboard 04/22/83 17:10:47 PAGE 24
|
||
|
||
|
||
9 0051H 1 TICKSPERSEC. . . . . . BYTE MEMBER(SD)
|
||
35 0001H 1 TICKSSEC . . . . . . . BYTE MEMBER(XINIT)
|
||
9 0080H 3 TOD. . . . . . . . . . BYTE ARRAY(3) MEMBER(SD)
|
||
9 007EH 2 TOD_DAY. . . . . . . . WORD MEMBER(SD)
|
||
2 TRUE . . . . . . . . . LITERALLY 185 270 324 328 335
|
||
251 04C7H 54 TURNOFFCTRLO . . . . . PROCEDURE STACK=0018H 287 369
|
||
20 0010H 2 UDA. . . . . . . . . . WORD MEMBER(PD)
|
||
20 0013H 1 USER . . . . . . . . . BYTE MEMBER(PD)
|
||
122 0024H 2 USLEEP . . . . . . . . WORD MEMBER(CCB)
|
||
112 0024H 2 USLEEP . . . . . . . . WORD MEMBER(CCB)
|
||
41 0024H 2 USLEEP . . . . . . . . WORD MEMBER(OLDCCB)
|
||
39 0024H 2 USLEEP . . . . . . . . WORD MEMBER(CCB) 210 277
|
||
128 0024H 2 USLEEP . . . . . . . . WORD MEMBER(CCB)
|
||
128 000BH 1 VC . . . . . . . . . . BYTE MEMBER(CCB)
|
||
122 000BH 1 VC . . . . . . . . . . BYTE MEMBER(CCB)
|
||
112 000BH 1 VC . . . . . . . . . . BYTE MEMBER(CCB)
|
||
41 000BH 1 VC . . . . . . . . . . BYTE MEMBER(OLDCCB)
|
||
39 000BH 1 VC . . . . . . . . . . BYTE MEMBER(CCB) 161
|
||
150 0004H 1 VC . . . . . . . . . . BYTE PARAMETER AUTOMATIC 151 153
|
||
128 0016H 2 VCMXQ. . . . . . . . . WORD MEMBER(CCB)
|
||
122 0016H 2 VCMXQ. . . . . . . . . WORD MEMBER(CCB)
|
||
112 0016H 2 VCMXQ. . . . . . . . . WORD MEMBER(CCB)
|
||
41 0016H 2 VCMXQ. . . . . . . . . WORD MEMBER(OLDCCB) 164 173
|
||
39 0016H 2 VCMXQ. . . . . . . . . WORD MEMBER(CCB) 169 183 198 208 245 247 252 254
|
||
266 269 273 275 288 319
|
||
9 007AH 2 VERNUM . . . . . . . . WORD MEMBER(SD)
|
||
9 0078H 2 VERSION. . . . . . . . WORD MEMBER(SD)
|
||
128 0012H 2 VINQ . . . . . . . . . WORD MEMBER(CCB)
|
||
122 0012H 2 VINQ . . . . . . . . . WORD MEMBER(CCB)
|
||
112 0012H 2 VINQ . . . . . . . . . WORD MEMBER(CCB)
|
||
41 0012H 2 VINQ . . . . . . . . . WORD MEMBER(OLDCCB)
|
||
39 0012H 2 VINQ . . . . . . . . . WORD MEMBER(CCB) 141 203
|
||
128 0014H 2 VOUTQ. . . . . . . . . WORD MEMBER(CCB) 131 134
|
||
122 0014H 2 VOUTQ. . . . . . . . . WORD MEMBER(CCB)
|
||
112 0014H 2 VOUTQ. . . . . . . . . WORD MEMBER(CCB)
|
||
41 0014H 2 VOUTQ. . . . . . . . . WORD MEMBER(OLDCCB)
|
||
39 0014H 2 VOUTQ. . . . . . . . . WORD MEMBER(CCB)
|
||
122 0026H 2 VSLEEP . . . . . . . . WORD MEMBER(CCB)
|
||
112 0026H 2 VSLEEP . . . . . . . . WORD MEMBER(CCB)
|
||
41 0026H 2 VSLEEP . . . . . . . . WORD MEMBER(OLDCCB)
|
||
39 0026H 2 VSLEEP . . . . . . . . WORD MEMBER(CCB)
|
||
128 0026H 2 VSLEEP . . . . . . . . WORD MEMBER(CCB) 137
|
||
20 001AH 2 WAIT . . . . . . . . . WORD MEMBER(PD)
|
||
106 00A3H 21 WAKEUP . . . . . . . . PROCEDURE STACK=000CH 124 137 210 277 316
|
||
126 00F5H 84 WAKEVOUT . . . . . . . PROCEDURE STACK=0014H 175 180 209 248 255 276
|
||
97 0077H 23 WRITECHANGEMXQ . . . . PROCEDURE STACK=000AH 173 183 208 247 254 269 275
|
||
319
|
||
139 0149H 74 WRITEVINQ. . . . . . . PROCEDURE STACK=001AH 195 242 263 284 342 370
|
||
35 0000H 12 XINIT. . . . . . . . . STRUCTURE BASED(XINITPOINTER)
|
||
35 XINITOFFSET. . . . . . LITERALLY
|
||
35 0008H 4 XINITPOINTER . . . . . POINTER 35
|
||
35 0008H 4 XINITPTR . . . . . . . STRUCTURE AT
|
||
|
||
|
||
MODULE INFORMATION:
|
||
|
||
CODE AREA SIZE = 07D3H 2003D
|
||
CONSTANT AREA SIZE = 002FH 47D
|
||
VARIABLE AREA SIZE = 004BH 75D
|
||
MAXIMUM STACK SIZE = 0022H 34D
|
||
795 LINES READ
|
||
0 PROGRAM WARNINGS
|
||
0 PROGRAM ERRORS
|
||
|
||
END OF PL/M-86 COMPILATION
|
||
|