mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-27 02:14:19 +00:00
Upload
Digital Research
This commit is contained in:
@@ -0,0 +1,635 @@
|
||||
PL/M-86 COMPILER ERAQ: ERASE FILE WITH QUERY PAGE 1
|
||||
|
||||
|
||||
ISIS-II PL/M-86 V2.0 COMPILATION OF MODULE ERASEQ
|
||||
OBJECT MODULE PLACED IN ERAQ.OBJ
|
||||
COMPILER INVOKED BY: :F0: ERAQ.PLM XREF OPTIMIZE(3) DEBUG
|
||||
|
||||
|
||||
|
||||
$title ('ERAQ: Erase File with Query')
|
||||
1 eraseq:
|
||||
do;
|
||||
|
||||
/*
|
||||
Revised:
|
||||
19 Jan 80 by Thomas Rolander
|
||||
20 July 81 by Doug Huskey
|
||||
6 Aug 81 by Danny Horovitz
|
||||
31 Jan 83 by Bill Fitler
|
||||
*/
|
||||
|
||||
$include (:f2:copyrt.lit)
|
||||
=
|
||||
= /*
|
||||
= Copyright (C) 1983
|
||||
= Digital Research
|
||||
= P.O. Box 579
|
||||
= Pacific Grove, CA 93950
|
||||
= */
|
||||
=
|
||||
|
||||
$include (:f2:vaxcmd.lit)
|
||||
=
|
||||
= /**** VAX commands for generation - read the name of this program
|
||||
= for PROGNAME below.
|
||||
=
|
||||
= $ util := PROGNAME
|
||||
= $ ccpmsetup ! set up environment
|
||||
= $ assign 'f$directory()' f1: ! use local dir for temp files
|
||||
= $ plm86 'util'.plm xref 'p1' optimize(3) debug
|
||||
= $ link86 f2:scd.obj, 'util'.obj to 'util'.lnk
|
||||
= $ loc86 'util'.lnk od(sm(code,dats,data,stack,const)) -
|
||||
= ad(sm(code(0),dats(10000h))) ss(stack(+32)) to 'util'.
|
||||
= $ h86 'util'
|
||||
=
|
||||
= ***** Then, on a micro:
|
||||
= A>vax progname.h86 $fans
|
||||
= A>gencmd progname data[b1000]
|
||||
=
|
||||
= ***** Notes: Stack is increased for interrupts. Const(ants) are last
|
||||
= to force hex generation.
|
||||
= ****/
|
||||
|
||||
$include (:f2:vermpm.lit)
|
||||
=
|
||||
= /* This utility requires MP/M or Concurrent function calls */
|
||||
=
|
||||
= /****** commented out for CCP/M-86 :
|
||||
= declare Ver$OS literally '11h',
|
||||
= Ver$Needs$OS literally '''Requires MP/M-86''';
|
||||
PL/M-86 COMPILER ERAQ: ERASE FILE WITH QUERY PAGE 2
|
||||
|
||||
|
||||
= ******/
|
||||
=
|
||||
2 1 = declare Ver$OS literally '14h',
|
||||
= Ver$Needs$OS literally '''Requires Concurrent CP/M-86''';
|
||||
=
|
||||
=
|
||||
3 1 = declare Ver$Mask literally '0fdh'; /* mask out Is_network bit */
|
||||
=
|
||||
4 1 = declare Ver$BDOS literally '30h'; /* minimal BDOS version rqd */
|
||||
=
|
||||
|
||||
5 1 declare
|
||||
true literally '1',
|
||||
false literally '0',
|
||||
forever literally 'while true',
|
||||
lit literally 'literally',
|
||||
proc literally 'procedure',
|
||||
dcl literally 'declare',
|
||||
addr literally 'address',
|
||||
cr literally '13',
|
||||
lf literally '10',
|
||||
ctrlc literally '3',
|
||||
ctrlx literally '18h',
|
||||
bksp literally '8';
|
||||
|
||||
|
||||
/**************************************
|
||||
* *
|
||||
* B D O S INTERFACE *
|
||||
* *
|
||||
**************************************/
|
||||
|
||||
|
||||
6 1 mon1:
|
||||
procedure (func,info) external;
|
||||
7 2 declare func byte;
|
||||
8 2 declare info address;
|
||||
9 2 end mon1;
|
||||
|
||||
10 1 mon2:
|
||||
procedure (func,info) byte external;
|
||||
11 2 declare func byte;
|
||||
12 2 declare info address;
|
||||
13 2 end mon2;
|
||||
|
||||
14 1 mon3:
|
||||
procedure (func,info) address external;
|
||||
15 2 declare func byte;
|
||||
16 2 declare info address;
|
||||
17 2 end mon3;
|
||||
|
||||
|
||||
|
||||
18 1 declare cmdrv byte external; /* command drive */
|
||||
19 1 declare fcb (1) byte external; /* 1st default fcb */
|
||||
20 1 declare fcb16 (1) byte external; /* 2nd default fcb */
|
||||
21 1 declare pass0 address external; /* 1st password ptr */
|
||||
PL/M-86 COMPILER ERAQ: ERASE FILE WITH QUERY PAGE 3
|
||||
|
||||
|
||||
22 1 declare len0 byte external; /* 1st passwd length */
|
||||
23 1 declare pass1 address external; /* 2nd password ptr */
|
||||
24 1 declare len1 byte external; /* 2nd passwd length */
|
||||
25 1 declare tbuff (1) byte external; /* default dma buffer */
|
||||
|
||||
|
||||
/**************************************
|
||||
* *
|
||||
* B D O S Externals *
|
||||
* *
|
||||
**************************************/
|
||||
|
||||
26 1 read$console:
|
||||
procedure byte;
|
||||
27 2 return mon2 (1,0);
|
||||
28 2 end read$console;
|
||||
|
||||
|
||||
29 1 printchar:
|
||||
procedure(char);
|
||||
30 2 declare char byte;
|
||||
31 2 call mon1(2,char);
|
||||
32 2 end printchar;
|
||||
|
||||
33 1 conin:
|
||||
procedure byte;
|
||||
34 2 return mon2(6,0fdh);
|
||||
35 2 end conin;
|
||||
|
||||
36 1 print$buf:
|
||||
procedure (buffer$address);
|
||||
37 2 declare buffer$address address;
|
||||
38 2 call mon1 (9,buffer$address);
|
||||
39 2 end print$buf;
|
||||
|
||||
40 1 check$con$stat:
|
||||
procedure byte;
|
||||
41 2 return mon2(11,0);
|
||||
42 2 end check$con$stat;
|
||||
|
||||
43 1 version: procedure address;
|
||||
/* returns current cp/m version # */
|
||||
44 2 return mon3(12,0);
|
||||
45 2 end version;
|
||||
|
||||
46 1 setdma: procedure(dma);
|
||||
47 2 declare dma address;
|
||||
48 2 call mon1(26,dma);
|
||||
49 2 end setdma;
|
||||
|
||||
50 1 search$first:
|
||||
procedure (fcb$address) byte;
|
||||
51 2 declare fcb$address address;
|
||||
52 2 return mon2 (17,fcb$address);
|
||||
53 2 end search$first;
|
||||
|
||||
54 1 search$next:
|
||||
PL/M-86 COMPILER ERAQ: ERASE FILE WITH QUERY PAGE 4
|
||||
|
||||
|
||||
procedure byte;
|
||||
55 2 return mon2 (18,0);
|
||||
56 2 end search$next;
|
||||
|
||||
57 1 delete$file:
|
||||
procedure (fcb$address) address;
|
||||
58 2 declare fcb$address address;
|
||||
59 2 return mon3 (19,fcb$address);
|
||||
60 2 end delete$file;
|
||||
|
||||
61 1 get$user$code:
|
||||
procedure byte;
|
||||
62 2 return mon2 (32,0ffh);
|
||||
63 2 end get$user$code;
|
||||
|
||||
/* 0ff => return BDOS errors */
|
||||
64 1 return$errors:
|
||||
procedure;
|
||||
65 2 call mon1 (45,0ffh);
|
||||
66 2 end return$errors;
|
||||
|
||||
|
||||
67 1 terminate:
|
||||
procedure;
|
||||
68 2 call mon1 (143,0);
|
||||
69 2 end terminate;
|
||||
|
||||
70 1 declare
|
||||
parse$fn structure (
|
||||
buff$adr address,
|
||||
fcb$adr address);
|
||||
71 1 declare (saveax,savecx) word external; /* reg return vals, set in mon1 */
|
||||
|
||||
72 1 parse: procedure;
|
||||
73 2 declare (retcode,errcode) word;
|
||||
|
||||
74 2 call mon1(152,.parse$fn);
|
||||
75 2 retcode = saveax;
|
||||
76 2 errcode = savecx;
|
||||
77 2 if retcode = 0ffffh then /* parse returned an error */
|
||||
78 2 do;
|
||||
79 3 call print$buf(.('Invalid Filespec$'));
|
||||
80 3 if errcode = 23 then call print$buf(.(' (drive)$'));
|
||||
82 3 else if errcode = 24 then call print$buf(.(' (filename)$'));
|
||||
84 3 else if errcode = 25 then call print$buf(.(' (filetype)$'));
|
||||
86 3 else if errcode = 38 then call print$buf(.(' (password)$'));
|
||||
call print$buf(.('.',13,10,'$')); call terminate;
|
||||
90 3 end;
|
||||
91 2 end parse;
|
||||
|
||||
|
||||
|
||||
/**************************************
|
||||
* *
|
||||
* GLOBAL VARIABLES *
|
||||
* *
|
||||
**************************************/
|
||||
PL/M-86 COMPILER ERAQ: ERASE FILE WITH QUERY PAGE 5
|
||||
|
||||
|
||||
|
||||
92 1 declare xfcb byte initial(0);
|
||||
93 1 declare successful lit '0FFh';
|
||||
|
||||
94 1 declare dir$entries (128) structure (
|
||||
file (12) byte );
|
||||
|
||||
95 1 declare dir$entry$adr address;
|
||||
96 1 declare dir$entry based dir$entry$adr (1) byte;
|
||||
|
||||
/**************************************
|
||||
* *
|
||||
* S U B R O U T I N E S *
|
||||
* *
|
||||
**************************************/
|
||||
|
||||
|
||||
/* upper case character from console */
|
||||
97 1 crlf: proc;
|
||||
98 2 call printchar(cr);
|
||||
99 2 call printchar(lf);
|
||||
100 2 end crlf;
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
|
||||
|
||||
/* fill string @ s for c bytes with f */
|
||||
101 1 fill: proc(s,f,c);
|
||||
102 2 dcl s addr,
|
||||
(f,c) byte,
|
||||
a based s byte;
|
||||
|
||||
103 2 do while (c:=c-1)<>255;
|
||||
104 3 a = f;
|
||||
105 3 s = s+1;
|
||||
106 3 end;
|
||||
107 2 end fill;
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
|
||||
|
||||
/* error message routine */
|
||||
108 1 error: proc(code);
|
||||
109 2 declare
|
||||
code byte;
|
||||
|
||||
110 2 call printchar(' ');
|
||||
111 2 if code=1 then
|
||||
112 2 call print$buf(.(cr,lf,'Disk I/O Error.$'));
|
||||
113 2 if code=2 then
|
||||
114 2 call print$buf(.(cr,lf,'Drive $'));
|
||||
115 2 if code = 3 or code = 2 then
|
||||
116 2 call print$buf(.('Read Only$'));
|
||||
117 2 if code = 4 then
|
||||
118 2 call print$buf(.(cr,lf,'Invalid Filespec (drive).$'));
|
||||
119 2 if code = 5 then
|
||||
120 2 call print$buf(.('Currently Opened$'));
|
||||
121 2 if code = 7 then
|
||||
122 2 call print$buf(.('Password Error$'));
|
||||
PL/M-86 COMPILER ERAQ: ERASE FILE WITH QUERY PAGE 6
|
||||
|
||||
|
||||
123 2 if code < 3 or code = 4 then
|
||||
124 2 call terminate;
|
||||
125 2 end error;
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
|
||||
|
||||
/* try to delete fcb at fcb$address
|
||||
return error code if unsuccessful */
|
||||
126 1 delete:
|
||||
procedure(fcb$address) byte;
|
||||
127 2 declare
|
||||
fcb$address address,
|
||||
fcbv based fcb$address (32) byte,
|
||||
error$code address,
|
||||
code byte;
|
||||
|
||||
128 2 if xfcb then
|
||||
129 2 fcbv(5) = fcbv(5) or 80h;
|
||||
130 2 call setdma(.fcb16); /* password */
|
||||
131 2 fcbv(0) = fcb(0); /* drive */
|
||||
132 2 error$code = delete$file(fcb$address);
|
||||
133 2 fcbv(5) = fcbv(5) and 7fh; /* reset xfcb bit */
|
||||
134 2 if low(error$code) = 0FFh then do;
|
||||
136 3 code = high(error$code);
|
||||
137 3 if (code=1) or (code=2) then
|
||||
138 3 call error(code);
|
||||
139 3 return code;
|
||||
140 3 end;
|
||||
141 2 return successful;
|
||||
142 2 end delete;
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
|
||||
|
||||
/* upper case character from console */
|
||||
143 1 ucase: proc byte;
|
||||
144 2 dcl c byte;
|
||||
|
||||
145 2 if (c:=conin) >= 'a' then
|
||||
146 2 if c < '{' then
|
||||
147 2 return(c-20h);
|
||||
148 2 return c;
|
||||
149 2 end ucase;
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
|
||||
|
||||
/* get password and place at fcb + 16 */
|
||||
150 1 getpasswd: proc;
|
||||
151 2 dcl (i,c) byte;
|
||||
|
||||
152 2 call print$buf(.('Password ? ','$'));
|
||||
153 2 retry:
|
||||
call fill(.fcb16,' ',8);
|
||||
154 2 do i = 0 to 7;
|
||||
155 3 nxtchr:
|
||||
if (c:=ucase) >= ' ' then
|
||||
156 3 fcb16(i)=c;
|
||||
157 3 if c = cr then
|
||||
PL/M-86 COMPILER ERAQ: ERASE FILE WITH QUERY PAGE 7
|
||||
|
||||
|
||||
158 3 goto exit;
|
||||
159 3 if c = ctrlx then
|
||||
160 3 goto retry;
|
||||
161 3 if c = bksp then do;
|
||||
163 4 if i<1 then
|
||||
164 4 goto retry;
|
||||
165 4 else do;
|
||||
166 5 fcb16(i:=i-1)=' ';
|
||||
167 5 goto nxtchr;
|
||||
168 5 end;
|
||||
169 4 end;
|
||||
170 3 if c = 3 then
|
||||
171 3 call terminate;
|
||||
172 3 end;
|
||||
173 2 exit:
|
||||
c = check$con$stat;
|
||||
174 2 end getpasswd;
|
||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
|
||||
|
||||
/* error on deleting a file */
|
||||
175 1 file$err: procedure(code);
|
||||
176 2 declare code byte;
|
||||
|
||||
177 2 call crlf;
|
||||
178 2 call print$buf(.('Not erased, $'));
|
||||
179 2 call error(code);
|
||||
180 2 call crlf;
|
||||
181 2 end file$err;
|
||||
|
||||
|
||||
|
||||
/**************************************
|
||||
* *
|
||||
* M A I N P R O G R A M *
|
||||
* *
|
||||
**************************************/
|
||||
|
||||
|
||||
182 1 declare (i,j,k,code,response,user,dcnt) byte;
|
||||
183 1 declare ver address;
|
||||
|
||||
184 1 declare last$dseg$byte byte
|
||||
initial (0);
|
||||
|
||||
185 1 plm$start: procedure public;
|
||||
186 2 ver = version;
|
||||
187 2 if low(ver) < Ver$BDOS or (high(ver) and Ver$Mask) = 0 then do;
|
||||
189 3 call print$buf (.(cr,lf,Ver$Needs$OS,'$'));
|
||||
190 3 call mon1(0,0);
|
||||
191 3 end;
|
||||
|
||||
192 2 if fcb(17) <> ' ' then
|
||||
193 2 if fcb(17) = 'X' then
|
||||
194 2 xfcb = true;
|
||||
195 2 else do;
|
||||
196 3 call print$buf (.(
|
||||
PL/M-86 COMPILER ERAQ: ERASE FILE WITH QUERY PAGE 8
|
||||
|
||||
|
||||
'Invalid Command Option.$'));
|
||||
197 3 call terminate;
|
||||
198 3 end;
|
||||
|
||||
199 2 parse$fn.buff$adr = .tbuff(1);
|
||||
200 2 parse$fn.fcb$adr = .fcb;
|
||||
201 2 call parse;
|
||||
|
||||
202 2 if fcb(0) = 0 then
|
||||
203 2 fcb(0) = low (mon2 (25,0)) + 1;
|
||||
204 2 i = -1;
|
||||
205 2 user = get$user$code;
|
||||
206 2 call return$errors;
|
||||
207 2 dcnt = search$first (.fcb);
|
||||
208 2 do while dcnt <> 0ffh;
|
||||
209 3 dir$entry$adr = .tbuff(ror(dcnt,3) and 110$0000b);
|
||||
210 3 if dir$entry(0) = user then
|
||||
211 3 do;
|
||||
212 4 if (i:=i+1) = 128 then
|
||||
213 4 do;
|
||||
214 5 call print$buf (.(
|
||||
'Too many directory entries for query.','$'));
|
||||
215 5 call terminate;
|
||||
216 5 end;
|
||||
217 4 call move (12,.dir$entry(1),.dir$entries(i));
|
||||
218 4 end;
|
||||
219 3 dcnt = search$next;
|
||||
220 3 end;
|
||||
221 2 if i = -1 then
|
||||
222 2 do;
|
||||
223 3 call print$buf (.(
|
||||
'File Not Found.','$'));
|
||||
224 3 end;
|
||||
else
|
||||
225 2 do j = 0 to i;
|
||||
226 3 call printchar ('A'+fcb(0)-1);
|
||||
227 3 call printchar (':');
|
||||
228 3 call printchar (' ');
|
||||
229 3 do k = 0 to 10;
|
||||
230 4 if k = 8
|
||||
then call printchar ('.');
|
||||
232 4 call printchar (dir$entries(j).file(k) and 07FH);
|
||||
233 4 end;
|
||||
234 3 call printchar (' ');
|
||||
235 3 call printchar ('?');
|
||||
236 3 response = read$console;
|
||||
237 3 call printchar (0dh);
|
||||
238 3 call printchar (0ah);
|
||||
239 3 if (response = 'y') or
|
||||
(response = 'Y') then
|
||||
240 3 do;
|
||||
241 4 call move (12,.dir$entries(j),.fcb(1));
|
||||
242 4 if (code:=delete(.fcb)) <> successful then do;
|
||||
244 5 if code < 3 or code = 4 then
|
||||
245 5 call error(code); /* fatal errors */
|
||||
246 5 else if code = 7 then do;
|
||||
248 6 call file$err(code);
|
||||
PL/M-86 COMPILER ERAQ: ERASE FILE WITH QUERY PAGE 9
|
||||
|
||||
|
||||
249 6 call getpasswd;
|
||||
250 6 code = delete(.fcb);
|
||||
251 6 end;
|
||||
if code <> successful then
|
||||
253 5 call file$err(code);
|
||||
254 5 call crlf;
|
||||
255 5 end;
|
||||
256 4 end;
|
||||
257 3 end;
|
||||
258 2 call terminate;
|
||||
259 2 end plm$start;
|
||||
|
||||
260 1 end eraseq;
|
||||
PL/M-86 COMPILER ERAQ: ERASE FILE WITH QUERY PAGE 10
|
||||
|
||||
|
||||
CROSS-REFERENCE LISTING
|
||||
-----------------------
|
||||
|
||||
|
||||
DEFN ADDR SIZE NAME, ATTRIBUTES, AND REFERENCES
|
||||
----- ------ ----- --------------------------------
|
||||
|
||||
|
||||
102 0000H 1 A. . . . . . . . . BYTE BASED(S) 104
|
||||
5 ADDR . . . . . . . LITERALLY 102
|
||||
5 BKSP . . . . . . . LITERALLY 161
|
||||
70 0000H 2 BUFFADR. . . . . . WORD MEMBER(PARSEFN) 199
|
||||
36 0004H 2 BUFFERADDRESS. . . WORD PARAMETER AUTOMATIC 37 38
|
||||
151 0612H 1 C. . . . . . . . . BYTE 155 156 157 159 161 170 173
|
||||
101 0004H 1 C. . . . . . . . . BYTE PARAMETER AUTOMATIC 102 103
|
||||
144 0610H 1 C. . . . . . . . . BYTE 145 146 147 148
|
||||
29 0004H 1 CHAR . . . . . . . BYTE PARAMETER AUTOMATIC 30 31
|
||||
40 0041H 15 CHECKCONSTAT . . . PROCEDURE BYTE STACK=0008H 173
|
||||
18 0000H 1 CMDRV. . . . . . . BYTE EXTERNAL(3)
|
||||
175 0004H 1 CODE . . . . . . . BYTE PARAMETER AUTOMATIC 176 179
|
||||
108 0004H 1 CODE . . . . . . . BYTE PARAMETER AUTOMATIC 109 111 113 115 117 119 121 123
|
||||
|
||||
127 060FH 1 CODE . . . . . . . BYTE 136 137 138 139
|
||||
182 0616H 1 CODE . . . . . . . BYTE 242 244 245 246 248 250 252 253
|
||||
33 0022H 15 CONIN. . . . . . . PROCEDURE BYTE STACK=0008H 145
|
||||
5 CR . . . . . . . . LITERALLY 98 112 114 118 157 189
|
||||
97 0130H 17 CRLF . . . . . . . PROCEDURE STACK=000EH 177 180 254
|
||||
5 CTRLC. . . . . . . LITERALLY
|
||||
5 CTRLX. . . . . . . LITERALLY 159
|
||||
5 DCL. . . . . . . . LITERALLY
|
||||
182 0619H 1 DCNT . . . . . . . BYTE 207 208 209 219
|
||||
126 01D1H 87 DELETE . . . . . . PROCEDURE BYTE STACK=0016H 242 250
|
||||
57 008EH 16 DELETEFILE . . . . PROCEDURE WORD STACK=000AH 132
|
||||
94 0008H 1536 DIRENTRIES . . . . STRUCTURE ARRAY(128) 217 232 241
|
||||
96 0000H 1 DIRENTRY . . . . . BYTE BASED(DIRENTRYADR) ARRAY(1) 210 217
|
||||
95 0608H 2 DIRENTRYADR. . . . WORD 96 209 210 217
|
||||
46 0004H 2 DMA. . . . . . . . WORD PARAMETER AUTOMATIC 47 48
|
||||
1 0000H ERASEQ . . . . . . PROCEDURE STACK=0000H
|
||||
73 0006H 2 ERRCODE. . . . . . WORD 76 80 82 84 86
|
||||
108 0161H 112 ERROR. . . . . . . PROCEDURE STACK=0010H 138 179 245
|
||||
127 060AH 2 ERRORCODE. . . . . WORD 132 134 136
|
||||
173 02C1H EXIT . . . . . . . LABEL 158
|
||||
101 0006H 1 F. . . . . . . . . BYTE PARAMETER AUTOMATIC 102 104
|
||||
5 FALSE. . . . . . . LITERALLY
|
||||
19 0000H 1 FCB. . . . . . . . BYTE ARRAY(1) EXTERNAL(4) 131 192 193 200 202 203 207 226
|
||||
241 242 250
|
||||
20 0000H 1 FCB16. . . . . . . BYTE ARRAY(1) EXTERNAL(5) 130 153 156 166
|
||||
50 0004H 2 FCBADDRESS . . . . WORD PARAMETER AUTOMATIC 51 52
|
||||
126 0004H 2 FCBADDRESS . . . . WORD PARAMETER AUTOMATIC 127 129 131 132 133
|
||||
57 0004H 2 FCBADDRESS . . . . WORD PARAMETER AUTOMATIC 58 59
|
||||
70 0002H 2 FCBADR . . . . . . WORD MEMBER(PARSEFN) 200
|
||||
127 0000H 32 FCBV . . . . . . . BYTE BASED(FCBADDRESS) ARRAY(32) 129 131 133
|
||||
94 0000H 12 FILE . . . . . . . BYTE ARRAY(12) MEMBER(DIRENTRIES) 232
|
||||
175 02C9H 26 FILEERR. . . . . . PROCEDURE STACK=0016H 248 253
|
||||
101 0141H 32 FILL . . . . . . . PROCEDURE STACK=0008H 153
|
||||
5 FOREVER. . . . . . LITERALLY
|
||||
6 0000H 1 FUNC . . . . . . . BYTE PARAMETER 7
|
||||
PL/M-86 COMPILER ERAQ: ERASE FILE WITH QUERY PAGE 11
|
||||
|
||||
|
||||
14 0000H 1 FUNC . . . . . . . BYTE PARAMETER 15
|
||||
10 0000H 1 FUNC . . . . . . . BYTE PARAMETER 11
|
||||
150 0248H 129 GETPASSWD. . . . . PROCEDURE STACK=0010H 249
|
||||
61 009EH 15 GETUSERCODE. . . . PROCEDURE BYTE STACK=0008H 205
|
||||
HIGH . . . . . . . BUILTIN 136 187
|
||||
182 0613H 1 I. . . . . . . . . BYTE 204 212 217 221 225
|
||||
151 0611H 1 I. . . . . . . . . BYTE 154 156 163 166
|
||||
14 0000H 2 INFO . . . . . . . WORD PARAMETER 16
|
||||
10 0000H 2 INFO . . . . . . . WORD PARAMETER 12
|
||||
6 0000H 2 INFO . . . . . . . WORD PARAMETER 8
|
||||
182 0614H 1 J. . . . . . . . . BYTE 225 232 241
|
||||
182 0615H 1 K. . . . . . . . . BYTE 229 230 232
|
||||
184 061AH 1 LASTDSEGBYTE . . . BYTE INITIAL
|
||||
22 0000H 1 LEN0 . . . . . . . BYTE EXTERNAL(7)
|
||||
24 0000H 1 LEN1 . . . . . . . BYTE EXTERNAL(9)
|
||||
5 LF . . . . . . . . LITERALLY 99 112 114 118 189
|
||||
5 LIT. . . . . . . . LITERALLY 93
|
||||
LOW. . . . . . . . BUILTIN 134 187 203
|
||||
6 0000H MON1 . . . . . . . PROCEDURE EXTERNAL(0) STACK=0000H 31 38 48 65 68 74
|
||||
190
|
||||
10 0000H MON2 . . . . . . . PROCEDURE BYTE EXTERNAL(1) STACK=0000H 27 34 41 52 55
|
||||
62 203
|
||||
14 0000H MON3 . . . . . . . PROCEDURE WORD EXTERNAL(2) STACK=0000H 44 59
|
||||
MOVE . . . . . . . BUILTIN 217 241
|
||||
155 026BH NXTCHR . . . . . . LABEL 167
|
||||
72 00CBH 101 PARSE. . . . . . . PROCEDURE STACK=000EH 201
|
||||
70 0000H 4 PARSEFN. . . . . . STRUCTURE 74 199 200
|
||||
21 0000H 2 PASS0. . . . . . . WORD EXTERNAL(6)
|
||||
23 0000H 2 PASS1. . . . . . . WORD EXTERNAL(8)
|
||||
185 02E3H 500 PLMSTART . . . . . PROCEDURE PUBLIC STACK=001AH
|
||||
36 0031H 16 PRINTBUF . . . . . PROCEDURE STACK=000AH 79 81 83 85 87 88 112 114
|
||||
116 118 120 122 152 178 189 196 214 223
|
||||
29 000FH 19 PRINTCHAR. . . . . PROCEDURE STACK=000AH 98 99 110 226 227 228 231 232
|
||||
234 235 237 238
|
||||
5 PROC . . . . . . . LITERALLY 97 101 108 143 150
|
||||
26 0000H 15 READCONSOLE. . . . PROCEDURE BYTE STACK=0008H 236
|
||||
182 0617H 1 RESPONSE . . . . . BYTE 236 239
|
||||
73 0004H 2 RETCODE. . . . . . WORD 75 77
|
||||
153 0252H RETRY. . . . . . . LABEL 160 164
|
||||
64 00ADH 15 RETURNERRORS . . . PROCEDURE STACK=0008H 206
|
||||
ROR. . . . . . . . BUILTIN 209
|
||||
101 0008H 2 S. . . . . . . . . WORD PARAMETER AUTOMATIC 102 104 105
|
||||
71 0000H 2 SAVEAX . . . . . . WORD EXTERNAL(11) 75
|
||||
71 0000H 2 SAVECX . . . . . . WORD EXTERNAL(12) 76
|
||||
50 006FH 16 SEARCHFIRST. . . . PROCEDURE BYTE STACK=000AH 207
|
||||
54 007FH 15 SEARCHNEXT . . . . PROCEDURE BYTE STACK=0008H 219
|
||||
46 005FH 16 SETDMA . . . . . . PROCEDURE STACK=000AH 130
|
||||
93 SUCCESSFUL . . . . LITERALLY 141 242 252
|
||||
25 0000H 1 TBUFF. . . . . . . BYTE ARRAY(1) EXTERNAL(10) 199 209
|
||||
67 00BCH 15 TERMINATE. . . . . PROCEDURE STACK=0008H 89 124 171 197 215 258
|
||||
5 TRUE . . . . . . . LITERALLY 194
|
||||
143 0228H 32 UCASE. . . . . . . PROCEDURE BYTE STACK=000CH 155
|
||||
182 0618H 1 USER . . . . . . . BYTE 205 210
|
||||
183 060CH 2 VER. . . . . . . . WORD 186 187
|
||||
4 VERBDOS. . . . . . LITERALLY 187
|
||||
3 VERMASK. . . . . . LITERALLY 187
|
||||
2 VERNEEDSOS . . . . LITERALLY 189
|
||||
PL/M-86 COMPILER ERAQ: ERASE FILE WITH QUERY PAGE 12
|
||||
|
||||
|
||||
2 VEROS. . . . . . . LITERALLY
|
||||
43 0050H 15 VERSION. . . . . . PROCEDURE WORD STACK=0008H 186
|
||||
92 060EH 1 XFCB . . . . . . . BYTE INITIAL 128 194
|
||||
|
||||
|
||||
|
||||
MODULE INFORMATION:
|
||||
|
||||
CODE AREA SIZE = 04D7H 1239D
|
||||
CONSTANT AREA SIZE = 0128H 296D
|
||||
VARIABLE AREA SIZE = 061BH 1563D
|
||||
MAXIMUM STACK SIZE = 001AH 26D
|
||||
463 LINES READ
|
||||
0 PROGRAM ERROR(S)
|
||||
|
||||
END OF PL/M-86 COMPILATION
|
||||
Reference in New Issue
Block a user