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,973 @@
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 1
|
||||
|
||||
|
||||
ISIS-II PL/M-86 V2.0 COMPILATION OF MODULE DISPLAY
|
||||
OBJECT MODULE PLACED IN DISP
|
||||
COMPILER INVOKED BY: :F0: DISP.PLM DEBUG OBJECT(DISP) OPTIMIZE(3) XREF
|
||||
|
||||
|
||||
|
||||
$title ('SDIR - Display Files')
|
||||
1 display:
|
||||
do;
|
||||
/* Display Module for SDIR */
|
||||
|
||||
$include(comlit.lit)
|
||||
=
|
||||
2 1 = declare
|
||||
= lit literally 'literally',
|
||||
= dcl lit 'declare',
|
||||
= true lit '0ffh',
|
||||
= false lit '0',
|
||||
= boolean lit 'byte',
|
||||
= forever lit 'while true',
|
||||
= cr lit '13',
|
||||
= lf lit '10',
|
||||
= tab lit '9',
|
||||
= ctrlc lit '3',
|
||||
= ff lit '12',
|
||||
= page$len$offset lit '1ch',
|
||||
= nopage$mode$offset lit '2Ch',
|
||||
= sectorlen lit '128';
|
||||
|
||||
$include(mon.plm)
|
||||
=
|
||||
= /* definitions for assembly interface module */
|
||||
3 1 = declare
|
||||
= fcb (33) byte external, /* default file control block */
|
||||
= maxb address external, /* top of memory */
|
||||
= buff(128)byte external; /* default buffer */
|
||||
=
|
||||
4 1 = mon1: procedure(f,a) external;
|
||||
5 2 = declare f byte, a address;
|
||||
6 2 = end mon1;
|
||||
=
|
||||
7 1 = mon2: procedure(f,a) byte external;
|
||||
8 2 = declare f byte, a address;
|
||||
9 2 = end mon2;
|
||||
=
|
||||
10 1 = mon3: procedure(f,a) address external;
|
||||
11 2 = declare f byte, a address;
|
||||
12 2 = end mon3;
|
||||
=
|
||||
|
||||
13 1 dcl (cur$drv, cur$usr) byte external;
|
||||
|
||||
14 1 dcl (os,bdos) byte external;
|
||||
$include(vers.lit)
|
||||
15 1 = declare
|
||||
= bdos20 lit '20h',
|
||||
= bdos22 lit '22h',
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 2
|
||||
|
||||
|
||||
= bdos30 lit '30h',
|
||||
= mpm lit '01h',
|
||||
= cpm86 lit '10h',
|
||||
= mpm86 lit '11h',
|
||||
= ccpm86 lit '14h';
|
||||
|
||||
16 1 dcl used$de address external; /* number of used directory entries */
|
||||
17 1 dcl date$opt boolean external; /* date option flag */
|
||||
18 1 dcl display$attributes boolean external; /* attributes display flag */
|
||||
19 1 dcl sorted boolean external;
|
||||
20 1 dcl filesfound address external;
|
||||
|
||||
$include (search.lit)
|
||||
=
|
||||
21 1 = declare /* what kind of file user wants to find */
|
||||
= find$structure lit 'structure (
|
||||
= dir byte,
|
||||
= sys byte,
|
||||
= ro byte,
|
||||
= rw byte,
|
||||
= pass byte,
|
||||
= xfcb byte,
|
||||
= nonxfcb byte,
|
||||
= exclude byte)';
|
||||
=
|
||||
22 1 = declare
|
||||
= max$search$files literally '10';
|
||||
=
|
||||
23 1 = declare
|
||||
= search$structure lit 'structure(
|
||||
= drv byte,
|
||||
= name(8) byte,
|
||||
= type(3) byte,
|
||||
= anyfile boolean)'; /* match on any drive if true */
|
||||
=
|
||||
24 1 dcl find find$structure external;
|
||||
|
||||
25 1 dcl format byte external, /* format is one of the following */
|
||||
page$len address external, /* page size before printing new headers */
|
||||
message boolean external, /* print titles and msg when no file found */
|
||||
formfeeds boolean external; /* use form feeds to separate headers */
|
||||
|
||||
$include(format.lit)
|
||||
=
|
||||
26 1 = dcl form$short lit '0', /* format values for SDIR */
|
||||
= form$size lit '1',
|
||||
= form$full lit '2';
|
||||
=
|
||||
|
||||
27 1 dcl file$displayed boolean public initial (false);
|
||||
/* true if we ever display a file, from any drive or user */
|
||||
/* used by main.plm for file not found message */
|
||||
|
||||
28 1 dcl dir$label byte external;
|
||||
|
||||
$include(fcb.lit)
|
||||
=
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 3
|
||||
|
||||
|
||||
29 1 = declare
|
||||
= f$drvusr lit '0', /* drive/user byte */
|
||||
= f$name lit '1', /* file name */
|
||||
= f$namelen lit '8', /* file name length */
|
||||
= f$type lit '9', /* file type field */
|
||||
= f$typelen lit '3', /* type length */
|
||||
= f$rw lit '9', /* high bit is R/W attribute */
|
||||
= f$dirsys lit '10', /* high bit is dir/sys attribute */
|
||||
= f$arc lit '11', /* high bit is archive attribute */
|
||||
= f$ex lit '12', /* extent */
|
||||
= f$s1 lit '13', /* module byte */
|
||||
= f$rc lit '15', /* record count */
|
||||
= f$diskmap lit '16', /* file disk map */
|
||||
= diskmaplen lit '16', /* disk map length */
|
||||
= f$drvusr2 lit '16', /* fcb2 */
|
||||
= f$name2 lit '17',
|
||||
= f$type2 lit '25',
|
||||
= f$cr lit '32', /* current record */
|
||||
= f$rrec lit '33', /* random record */
|
||||
= f$rreco lit '35'; /* " " overflow */
|
||||
=
|
||||
$include(xfcb.lit)
|
||||
=
|
||||
30 1 = declare /* XFCB */
|
||||
= xfcb$type lit '10h', /* identifier on disk */
|
||||
= xf$passmode lit '12', /* pass word protection mode */
|
||||
= xf$pass lit '16', /* XFCB password */
|
||||
= passlen lit '8', /* password length */
|
||||
= xf$create lit '24', /* creation/access time stamp */
|
||||
= xf$update lit '28'; /* update time stamp */
|
||||
=
|
||||
31 1 = declare /* directory label: special case of XFCB */
|
||||
= dirlabeltype lit '20h', /* identifier on disk */
|
||||
= dl$password lit '128', /* masks on data byte */
|
||||
= dl$access lit '64',
|
||||
= dl$update lit '32',
|
||||
= dl$makexfcb lit '16',
|
||||
= dl$exists lit '1';
|
||||
=
|
||||
32 1 = declare /* password mode of xfcb */
|
||||
= pm$read lit '80h',
|
||||
= pm$write lit '40h',
|
||||
= pm$delete lit '20h';
|
||||
=
|
||||
|
||||
33 1 dcl
|
||||
buf$fcb$adr address external, /* index into directory buffer */
|
||||
buf$fcb based buf$fcb$adr (32) byte,
|
||||
/* fcb template for dir */
|
||||
|
||||
(f$i$adr,last$f$i$adr,first$f$i$adr) address external,
|
||||
cur$file address; /* number of file currently */
|
||||
/* being displayed */
|
||||
|
||||
$include(finfo.lit)
|
||||
=
|
||||
= /* file info record for SDIR - note if this structure changes in size */
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 4
|
||||
|
||||
|
||||
= /* the multXX: routine in the sort.plm module must also change */
|
||||
=
|
||||
34 1 = declare
|
||||
= f$info$structure lit 'structure(
|
||||
= usr byte, name (8) byte, type (3) byte, onekblocks address,
|
||||
= kbytes address, recs$lword address, recs$hbyte byte,
|
||||
= hash$link address, x$i$adr address)';
|
||||
35 1 = declare
|
||||
= x$info$structure lit 'structure (
|
||||
= create (4) byte,
|
||||
= update (4) byte,
|
||||
= passmode byte)';
|
||||
=
|
||||
/* structure of file info */
|
||||
36 1 dcl file$info based f$i$adr f$info$structure;
|
||||
|
||||
37 1 dcl x$i$adr address external,
|
||||
xfcb$info based x$i$adr x$info$structure;
|
||||
|
||||
38 1 dcl f$i$indices$base address external, /* if sorted then f$i$indices */
|
||||
f$i$indices based f$i$indices$base (1) address; /* are here */
|
||||
|
||||
|
||||
/* -------- Routines in util.plm -------- */
|
||||
|
||||
39 1 printchar: procedure (char) external;
|
||||
40 2 dcl char byte;
|
||||
41 2 end printchar;
|
||||
|
||||
42 1 print: procedure (string$adr) external; /* BDOS call # 9 */
|
||||
43 2 dcl string$adr address;
|
||||
44 2 end print;
|
||||
|
||||
45 1 printb: procedure external;
|
||||
46 2 end printb;
|
||||
|
||||
47 1 crlf: procedure external;
|
||||
48 2 end crlf;
|
||||
|
||||
49 1 printfn: procedure(fname$adr) external;
|
||||
50 2 dcl fname$adr address;
|
||||
51 2 end printfn;
|
||||
|
||||
52 1 pdecimal: procedure(v,prec,zerosup) external;
|
||||
/* print value val, field size = (log10 prec) + 1 */
|
||||
/* with leading zero suppression if zerosup = true */
|
||||
53 2 declare v address, /* value to print */
|
||||
prec address, /* precision */
|
||||
zerosup boolean; /* zero suppression flag */
|
||||
54 2 end pdecimal;
|
||||
|
||||
55 1 p3byte: procedure(byte3adr,prec)external;
|
||||
/* print 3 byte value with 0 suppression */
|
||||
56 2 dcl (byte3adr,prec) address; /* assume high order bit is < 10 */
|
||||
57 2 end p3byte;
|
||||
|
||||
58 1 add3byte: procedure (byte3$adr,word$amt) external;
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 5
|
||||
|
||||
|
||||
59 2 dcl (byte3$adr, word$amt) address;
|
||||
60 2 end add3byte; /* add word to 3 byte structure */
|
||||
|
||||
61 1 add3byte3: procedure (byte3$adr,byte3) external;
|
||||
62 2 dcl (byte3$adr, byte3) address;
|
||||
63 2 end add3byte3; /* add 3 byte quantity to 3 byte total */
|
||||
|
||||
64 1 shr3byte: procedure (byte3$adr) external;
|
||||
65 2 dcl byte3$adr address;
|
||||
66 2 end shr3byte;
|
||||
|
||||
|
||||
/* -------- Routines in search.plm -------- */
|
||||
|
||||
67 1 search$first: procedure(fcb$adr) byte external;
|
||||
68 2 dcl fcb$adr address;
|
||||
69 2 end search$first;
|
||||
|
||||
70 1 search$next: procedure byte external;
|
||||
71 2 end search$next;
|
||||
|
||||
/*break: procedure external;
|
||||
end break;*/
|
||||
|
||||
72 1 match: procedure boolean external;
|
||||
73 2 dcl fcb$adr address;
|
||||
74 2 end match;
|
||||
|
||||
|
||||
/* -------- Other external routines -------- */
|
||||
|
||||
75 1 display$time$stamp: procedure (ts$adr) external; /* in dts.plm */
|
||||
76 2 dcl ts$adr address;
|
||||
77 2 end display$time$stamp;
|
||||
|
||||
78 1 terminate: procedure external; /* in main.plm */
|
||||
79 2 end terminate;
|
||||
|
||||
80 1 mult23: procedure(index) address external; /* in sort.plm */
|
||||
81 2 dcl index address;
|
||||
82 2 end mult23;
|
||||
|
||||
|
||||
/* -------- From dpb86.plm or dpb80.plm -------- */
|
||||
|
||||
$include(dpb.lit)
|
||||
=
|
||||
= /* indices into disk parameter block, used as parameters to dpb procedure */
|
||||
=
|
||||
83 1 = dcl spt$w lit '0',
|
||||
= blkshf$b lit '2',
|
||||
= blkmsk$b lit '3',
|
||||
= extmsk$b lit '4',
|
||||
= blkmax$w lit '5',
|
||||
= dirmax$w lit '7',
|
||||
= dirblk$w lit '9',
|
||||
= chksiz lit '11',
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 6
|
||||
|
||||
|
||||
= offset$w lit '13';
|
||||
=
|
||||
|
||||
84 1 dpb$byte: procedure (dpb$index) byte external;
|
||||
85 2 dcl dpb$index byte;
|
||||
86 2 end dpb$byte;
|
||||
|
||||
87 1 dpb$word: procedure (dpb$index) address external;
|
||||
88 2 dcl dpb$index byte;
|
||||
89 2 end dpb$word;
|
||||
|
||||
|
||||
/* -------- routines and data structures local to this module -------- */
|
||||
|
||||
90 1 direct$console$io: procedure byte;
|
||||
91 2 return mon2(6,0ffh); /* ff to stay downward compatable */
|
||||
92 2 end direct$console$io;
|
||||
|
||||
93 1 wait$keypress: procedure;
|
||||
94 2 declare char byte;
|
||||
95 2 char = direct$console$io;
|
||||
96 2 do while char = 0;
|
||||
97 3 char = direct$console$io;
|
||||
98 3 end;
|
||||
99 2 if char = ctrlc then
|
||||
100 2 call terminate;
|
||||
101 2 end wait$keypress;
|
||||
|
||||
102 1 declare global$line$count byte initial(1);
|
||||
|
||||
103 1 dcl total$kbytes structure ( /* grand total k bytes of files matched */
|
||||
lword address,
|
||||
hbyte byte),
|
||||
total$recs structure ( /* grand total records of files matched */
|
||||
lword address,
|
||||
hbyte byte),
|
||||
total$1k$blocks structure( /* how many 1k blocks are allocated */
|
||||
lword address,
|
||||
hbyte byte);
|
||||
|
||||
104 1 add$totals: procedure;
|
||||
|
||||
105 2 call add3byte(.total$kbytes,file$info.kbytes);
|
||||
106 2 call add3byte3(.total$recs,.file$info.recs$lword); /* records in file */
|
||||
107 2 call add3byte(.total$1k$blocks,file$info.onekblocks);
|
||||
|
||||
108 2 end add$totals;
|
||||
|
||||
109 1 dcl files$per$line byte;
|
||||
110 1 dcl cur$line address;
|
||||
|
||||
111 1 dcl hdr (*) byte data (' Name Bytes Recs Attributes $');
|
||||
112 1 dcl hdr$bars (*) byte data ('------------ ------ ------ ------------$');
|
||||
113 1 dcl hdr$pu (*) byte data (' Prot Update $');
|
||||
114 1 dcl hdr$xfcb$bars (*) byte data (' ------ -------------- --------------$');
|
||||
115 1 dcl hdr$access (*) byte data (' Access $');
|
||||
116 1 dcl hdr$create (*) byte data (' Create $');
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 7
|
||||
|
||||
|
||||
/* example date 04/02/55 00:34 */
|
||||
|
||||
117 1 display$file$info: procedure;
|
||||
/* print filename.typ */
|
||||
118 2 call printfn(.file$info.name(0));
|
||||
119 2 call printb;
|
||||
120 2 call pdecimal(file$info.kbytes,10000,true);
|
||||
121 2 call printchar('k'); /* up to 32 Meg - Bytes */
|
||||
/* or 32,000k */
|
||||
122 2 call printb;
|
||||
123 2 call p3byte(.file$info.recs$lword,1); /* records */
|
||||
124 2 call printb;
|
||||
125 2 if rol(file$info.name(f$dirsys-1),1) then /* Type */
|
||||
126 2 call print(.('Sys$'));
|
||||
127 2 else call print(.('Dir$'));
|
||||
128 2 call printb;
|
||||
129 2 if rol(file$info.name(f$rw-1),1) then
|
||||
130 2 call print(.('RO$'));
|
||||
131 2 else call print(.('RW$'));
|
||||
132 2 call printb;
|
||||
133 2 if not display$attributes then do;
|
||||
135 3 if rol(file$info.name(f$arc-1),1) then
|
||||
136 3 call print(.('Arcv $'));
|
||||
else
|
||||
137 3 call print(.(' $'));
|
||||
138 3 end;
|
||||
139 2 else do;
|
||||
140 3 if rol(file$info.name(f$arc-1),1) then /* arc bit was on in all */
|
||||
141 3 call print$char('A'); /* dir entries */
|
||||
142 3 else call printb;
|
||||
143 3 if rol(file$info.name(0),1) then
|
||||
144 3 call print$char('1');
|
||||
145 3 else call printb;
|
||||
146 3 if rol(file$info.name(1),1) then
|
||||
147 3 call print$char('2');
|
||||
148 3 else call printb;
|
||||
149 3 if rol(file$info.name(2),1) then
|
||||
150 3 call print$char('3');
|
||||
151 3 else call printb;
|
||||
152 3 if rol(file$info.name(3),1) then
|
||||
153 3 call print$char('4');
|
||||
154 3 else call printb;
|
||||
155 3 end;
|
||||
156 2 end display$file$info;
|
||||
|
||||
157 1 display$xfcb$info: procedure;
|
||||
158 2 if file$info.x$i$adr <> 0 then
|
||||
159 2 do;
|
||||
160 3 call printb;
|
||||
161 3 x$i$adr = file$info.x$i$adr;
|
||||
162 3 if (xfcb$info.passmode and pm$read) <> 0 then
|
||||
163 3 call print(.('Read $'));
|
||||
164 3 else if (xfcb$info.passmode and pm$write) <> 0 then
|
||||
165 3 call print(.('Write $'));
|
||||
166 3 else if (xfcb$info.passmode and pm$delete) <> 0 then
|
||||
167 3 call print(.('Delete$'));
|
||||
else
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 8
|
||||
|
||||
|
||||
168 3 call print(.('None $'));
|
||||
169 3 call printb;
|
||||
170 3 if (xfcb$info.update(0) <> 0 or xfcb$info.update(1) <> 0) then
|
||||
171 3 call display$timestamp(.xfcb$info.update);
|
||||
172 3 else call print(.(' $'));
|
||||
173 3 call printb; call printb;
|
||||
175 3 if (xfcb$info.create(0) <> 0 or xfcb$info.create(1) <> 0) then
|
||||
176 3 call display$timestamp(.xfcb$info.create(0));
|
||||
/* Create/Access */
|
||||
177 3 end;
|
||||
178 2 end display$xfcb$info;
|
||||
|
||||
179 1 dcl first$title boolean initial (true);
|
||||
|
||||
180 1 display$title: procedure;
|
||||
|
||||
181 2 if formfeeds then
|
||||
182 2 call print$char(ff);
|
||||
183 2 else if not first$title then
|
||||
184 2 call crlf;
|
||||
call print(.('Directory For Drive $'));
|
||||
186 2 call printchar('A'+ cur$drv); call printchar(':');
|
||||
188 2 if bdos >= bdos20 then
|
||||
189 2 do;
|
||||
190 3 call print(.(' User $'));
|
||||
191 3 call pdecimal(cur$usr,10,true);
|
||||
192 3 end;
|
||||
193 2 call crlf;
|
||||
194 2 cur$line = 2;
|
||||
195 2 first$title = false;
|
||||
196 2 end display$title;
|
||||
|
||||
197 1 short$display: procedure (fname$adr);
|
||||
198 2 dcl fname$adr address;
|
||||
199 2 if cur$file mod files$per$line = 0 then
|
||||
200 2 do;
|
||||
201 3 if cur$line mod page$len = 0 then
|
||||
202 3 do;
|
||||
203 4 call crlf;
|
||||
204 4 call display$title;
|
||||
205 4 call crlf;
|
||||
206 4 end;
|
||||
else
|
||||
207 3 call crlf;
|
||||
208 3 cur$line = cur$line + 1;
|
||||
209 3 call printchar(cur$drv + 'A');
|
||||
210 3 end;
|
||||
211 2 else call printb;
|
||||
212 2 call print(.(': $'));
|
||||
213 2 call printfn(fname$adr);
|
||||
214 2 cur$file = cur$file + 1;
|
||||
215 2 end short$display;
|
||||
|
||||
216 1 test$att: procedure(char,off,on) boolean;
|
||||
217 2 dcl (char,off,on) byte;
|
||||
218 2 if (80h and char) <> 80h and off then
|
||||
219 2 return(true);
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 9
|
||||
|
||||
|
||||
220 2 if (80h and char) = 80h and on then
|
||||
221 2 return(true);
|
||||
222 2 return(false);
|
||||
223 2 end test$att;
|
||||
|
||||
224 1 right$attributes: procedure(name$adr) boolean;
|
||||
225 2 dcl name$adr address,
|
||||
name based name$adr (1) byte;
|
||||
226 2 return
|
||||
test$att(name(f$rw-1),find.rw,find.ro) and
|
||||
test$att(name(f$dirsys-1),find.dir,find.sys);
|
||||
227 2 end right$attributes;
|
||||
|
||||
228 1 short$dir: procedure; /* looks like "DIR" command */
|
||||
229 2 dcl dcnt byte;
|
||||
230 2 fcb(f$drvusr) = '?';
|
||||
231 2 files$per$line = 4;
|
||||
232 2 dcnt = search$first(.fcb);
|
||||
233 2 do while dcnt <> 0ffh;
|
||||
234 3 buf$fcb$adr = shl(dcnt and 11b,5)+.buff; /* dcnt mod 4 * 32 */
|
||||
235 3 if (buf$fcb(f$drvusr) and 0f0h) = 0 and
|
||||
buf$fcb(f$ex) = 0 and
|
||||
buf$fcb(f$ex)<= dpb$byte(extmsk$b) then /* no dir labels, xfcbs */
|
||||
236 3 if match then
|
||||
237 3 if right$attributes(.buf$fcb(f$name)) then
|
||||
238 3 call short$display(.buf$fcb(f$name));
|
||||
239 3 dcnt = search$next;
|
||||
240 3 end;
|
||||
241 2 end short$dir;
|
||||
|
||||
242 1 dcl (last$plus$one,index) address;
|
||||
|
||||
243 1 getnxt$file$info: procedure; /* set f$i$adr to base file$info on file */
|
||||
244 2 dcl right$usr boolean; /* to be displayed, f$i$adr = 0ffffh if end */
|
||||
245 2 right$usr = false;
|
||||
246 2 if sorted then
|
||||
247 2 do; index = index + 1;
|
||||
249 3 f$i$adr = mult23(f$i$indices(index));
|
||||
250 3 do while file$info.usr <> cur$usr and index <> filesfound;
|
||||
251 4 index = index + 1;
|
||||
252 4 f$i$adr = mult23(f$i$indices(index));
|
||||
253 4 end;
|
||||
254 3 if index = files$found then
|
||||
255 3 f$i$adr = last$plus$one; /* no more files */
|
||||
256 3 end;
|
||||
else /* not sorted display in order found in directory */
|
||||
257 2 do; /* use last$plus$one to avoid wrap around problems */
|
||||
258 3 f$i$adr = f$i$adr + size(file$info);
|
||||
259 3 do while file$info.usr <> cur$usr and f$i$adr <> last$plus$one;
|
||||
260 4 f$i$adr = f$i$adr + size(file$info);
|
||||
261 4 end;
|
||||
262 3 end;
|
||||
263 2 end getnxt$file$info;
|
||||
|
||||
264 1 size$display: procedure;
|
||||
265 2 if (format and form$size) <> 0 then
|
||||
266 2 files$per$line = 3;
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 10
|
||||
|
||||
|
||||
267 2 else files$per$line = 4;
|
||||
268 2 do while f$i$adr <> last$plus$one;
|
||||
269 3 if ((file$info.x$i$adr <> 0 and find.xfcb) or
|
||||
file$info.x$i$adr = 0 and find.nonxfcb) and
|
||||
right$attributes(.file$info.name(0)) then
|
||||
270 3 do;
|
||||
271 4 call add$totals;
|
||||
272 4 call short$display(.file$info.name(0));
|
||||
273 4 call pdecimal(file$info.kbytes,10000,true);
|
||||
274 4 call print(.('k$'));
|
||||
275 4 end;
|
||||
276 3 call getnxt$file$info;
|
||||
277 3 end;
|
||||
278 2 end size$display;
|
||||
|
||||
279 1 display$no$dirlabel: procedure;
|
||||
280 2 files$per$line = 2;
|
||||
281 2 do while f$i$adr <> last$plus$one; /* Do all valid files */
|
||||
282 3 if ((file$info.x$i$adr <> 0 and find.xfcb) or
|
||||
(file$info.x$i$adr = 0 and find.nonxfcb)) and
|
||||
right$attributes(.file$info.name(0)) then
|
||||
283 3 do;
|
||||
284 4 if cur$file mod files$per$line <> 0 then call printb;
|
||||
286 4 else do; /* need a new line */
|
||||
287 5 if cur$line mod page$len <> 0 then do; /* just crlf */
|
||||
289 6 call crlf;
|
||||
290 6 cur$line = cur$line + 1;
|
||||
291 6 end;
|
||||
292 5 else do; /* print header */
|
||||
293 6 call crlf;
|
||||
294 6 call display$title; call crlf;
|
||||
296 6 call print(.hdr); call printb; call print(.hdr);
|
||||
299 6 call crlf;
|
||||
300 6 call print(.hdr$bars); call printb; call print(.hdr$bars);
|
||||
303 6 call crlf;
|
||||
304 6 cur$line = cur$line + 3;
|
||||
305 6 end;
|
||||
306 5 end;
|
||||
307 4 call display$file$info;
|
||||
308 4 cur$file = cur$file + 1;
|
||||
309 4 call add$totals;
|
||||
310 4 end;
|
||||
311 3 call getnxt$file$info;
|
||||
312 3 end;/* do loop */
|
||||
313 2 end display$no$dirlabel;
|
||||
|
||||
314 1 display$with$dirlabel: procedure;
|
||||
315 2 files$per$line = 1;
|
||||
316 2 do while f$i$adr <> last$plus$one; /* Display the file info */
|
||||
317 3 if ((file$info.x$i$adr <> 0 and find.xfcb) or
|
||||
(file$info.x$i$adr = 0 and find.nonxfcb)) and
|
||||
right$attributes(.file$info.name(0)) then
|
||||
318 3 do;
|
||||
319 4 if cur$line mod page$len = 0 then do; /* display the header */
|
||||
321 5 call crlf;
|
||||
322 5 call display$title; call crlf;
|
||||
324 5 call print(.hdr); call print(.hdr$pu);
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 11
|
||||
|
||||
|
||||
326 5 if (dirlabel and dl$access) <> 0 then
|
||||
327 5 call print(.hdr$access);
|
||||
328 5 else call print(.hdr$create);
|
||||
329 5 call crlf;
|
||||
330 5 call print(.hdr$bars); call print(.hdr$xfcb$bars);
|
||||
332 5 cur$line = cur$line + 2;
|
||||
333 5 end; /* header display */
|
||||
334 4 call crlf;
|
||||
335 4 call display$file$info; /* display non bdos 3.0 file info */
|
||||
336 4 call display$xfcb$info;
|
||||
337 4 cur$file = cur$file+1; cur$line = cur$line+1;
|
||||
339 4 call add$totals;
|
||||
340 4 end;
|
||||
341 3 call getnxt$file$info;
|
||||
342 3 end;
|
||||
343 2 end display$with$dirlabel;
|
||||
|
||||
|
||||
344 1 display$files: procedure public; /* MODULE ENTRY POINT */
|
||||
/* display the collected data */
|
||||
345 2 cur$line, cur$file = 0; /* force titles and new line */
|
||||
346 2 totalkbytes.lword, totalkbytes.hbyte, totalrecs.lword, totalrecs.hbyte =0;
|
||||
347 2 total$1k$blocks.lword, total$1k$blocks.hbyte = 0;
|
||||
348 2 f$i$adr = first$f$i$adr - size(file$info); /* initial if no sort */
|
||||
349 2 last$plus$one = last$f$i$adr + size(file$info);
|
||||
350 2 index = 0ffffh; /* initial if sorted */
|
||||
351 2 call getnxt$file$info; /* base file info record */
|
||||
|
||||
352 2 if format > 2 then
|
||||
353 2 do;
|
||||
354 3 call print(.('Illegal Format Value$'));
|
||||
355 3 call terminate; /* default could be patched - watch it */
|
||||
356 3 end;
|
||||
|
||||
357 2 do case format; /* format = */
|
||||
358 3 call short$dir; /* form$short */
|
||||
359 3 call size$display; /* form$size */
|
||||
/* form = full */
|
||||
360 3 if date$opt then do;
|
||||
362 4 if ((( dir$label and dl$exists) <> 0 ) and
|
||||
((( dir$label and dl$access) <> 0 ) or
|
||||
(( dir$label and dl$update) <> 0 ) or
|
||||
(( dir$label and dl$makexfcb) <> 0 ))) then
|
||||
363 4 call display$with$dirlabel; /* Timestamping is active! */
|
||||
364 4 else do;
|
||||
365 5 call print(.('Date and Time Stamping Inactive$'));
|
||||
366 5 call terminate;
|
||||
367 5 end;
|
||||
368 4 end;
|
||||
369 3 else do; /* No date option; Regular Full display */
|
||||
370 4 if (dir$label and dl$exists) <> 0 then
|
||||
371 4 call display$with$dirlabel;
|
||||
else
|
||||
372 4 call display$no$dirlabel;
|
||||
373 4 end;
|
||||
374 3 end; /* end of case */
|
||||
375 2 if format <> form$short and cur$file > 0 then /* print totals */
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 12
|
||||
|
||||
|
||||
376 2 do;
|
||||
377 3 if cur$line + 4 > page$len and formfeeds then
|
||||
378 3 do;
|
||||
379 4 call printchar(cr);
|
||||
380 4 call printchar(ff); /* need a new page ? */
|
||||
381 4 end;
|
||||
else
|
||||
382 3 do;
|
||||
383 4 call crlf;
|
||||
384 4 call crlf;
|
||||
385 4 end;
|
||||
386 3 call print(.( 'Total Bytes = $'));
|
||||
387 3 call p3byte(.total$kbytes,1); /* 6 digit max */
|
||||
388 3 call printchar('k');
|
||||
389 3 call print(.(' Total Records = $'));
|
||||
390 3 call p3byte(.total$recs,10); /* 7 digit max */
|
||||
391 3 call print(.(' Files Found = $'));
|
||||
392 3 call pdecimal(cur$file,1000,true); /* 4 digit max */
|
||||
393 3 call print(.(cr,lf,'Total 1k Blocks = $'));
|
||||
394 3 call p3byte(.total$1k$blocks,1); /* 6 digit max */
|
||||
395 3 call print(.(' Used/Max Dir Entries For Drive $'));
|
||||
396 3 call print$char('A' + cur$drv);
|
||||
397 3 call print$char(':'); call printb;
|
||||
399 3 call pdecimal(used$de,1000,true);
|
||||
400 3 call print$char('/');
|
||||
401 3 call pdecimal(dpb$word(dirmax$w) + 1,1000,true);
|
||||
402 3 end;
|
||||
|
||||
403 2 if cur$file = 0 then
|
||||
404 2 do;
|
||||
405 3 if message then
|
||||
406 3 do; call crlf;
|
||||
408 4 call display$title;
|
||||
409 4 call print(.('File Not Found.',cr,lf,'$'));
|
||||
410 4 end;
|
||||
411 3 end;
|
||||
412 2 else do;
|
||||
413 3 file$displayed = true;
|
||||
414 3 if not formfeeds then
|
||||
415 3 call crlf;
|
||||
416 3 end;
|
||||
|
||||
417 2 end display$files;
|
||||
|
||||
418 1 end display;
|
||||
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 13
|
||||
|
||||
|
||||
CROSS-REFERENCE LISTING
|
||||
-----------------------
|
||||
|
||||
|
||||
DEFN ADDR SIZE NAME, ATTRIBUTES, AND REFERENCES
|
||||
----- ------ ----- --------------------------------
|
||||
|
||||
|
||||
7 0000H 2 A. . . . . . . . . . WORD PARAMETER 8
|
||||
4 0000H 2 A. . . . . . . . . . WORD PARAMETER 5
|
||||
10 0000H 2 A. . . . . . . . . . WORD PARAMETER 11
|
||||
58 0000H ADD3BYTE . . . . . . PROCEDURE EXTERNAL(34) STACK=0000H 105 107
|
||||
61 0000H ADD3BYTE3. . . . . . PROCEDURE EXTERNAL(35) STACK=0000H 106
|
||||
104 002BH 48 ADDTOTALS. . . . . . PROCEDURE STACK=0008H 271 309 339
|
||||
14 0000H 1 BDOS . . . . . . . . BYTE EXTERNAL(9) 188
|
||||
15 BDOS20 . . . . . . . LITERALLY 188
|
||||
15 BDOS22 . . . . . . . LITERALLY
|
||||
15 BDOS30 . . . . . . . LITERALLY
|
||||
83 BLKMAXW. . . . . . . LITERALLY
|
||||
83 BLKMSKB. . . . . . . LITERALLY
|
||||
83 BLKSHFB. . . . . . . LITERALLY
|
||||
2 BOOLEAN. . . . . . . LITERALLY 17 18 19 25 27 53 72 179 216 224 244
|
||||
3 0000H 128 BUFF . . . . . . . . BYTE ARRAY(128) EXTERNAL(2) 234
|
||||
33 0000H 32 BUFFCB . . . . . . . BYTE BASED(BUFFCBADR) ARRAY(32) 235 237 238
|
||||
33 0000H 2 BUFFCBADR. . . . . . WORD EXTERNAL(21) 33 234 235 237 238
|
||||
61 0000H 2 BYTE3. . . . . . . . WORD PARAMETER 62
|
||||
64 0000H 2 BYTE3ADR . . . . . . WORD PARAMETER 65
|
||||
55 0000H 2 BYTE3ADR . . . . . . WORD PARAMETER 56
|
||||
58 0000H 2 BYTE3ADR . . . . . . WORD PARAMETER 59
|
||||
61 0000H 2 BYTE3ADR . . . . . . WORD PARAMETER 62
|
||||
15 CCPM86 . . . . . . . LITERALLY
|
||||
94 000BH 1 CHAR . . . . . . . . BYTE 95 96 97 99
|
||||
39 0000H 1 CHAR . . . . . . . . BYTE PARAMETER 40
|
||||
216 0008H 1 CHAR . . . . . . . . BYTE PARAMETER AUTOMATIC 217 218 220
|
||||
83 CHKSIZ . . . . . . . LITERALLY
|
||||
15 CPM86. . . . . . . . LITERALLY
|
||||
2 CR . . . . . . . . . LITERALLY 379 393 409
|
||||
37 0000H 4 CREATE . . . . . . . BYTE ARRAY(4) MEMBER(XFCBINFO) 175 176
|
||||
47 0000H CRLF . . . . . . . . PROCEDURE EXTERNAL(30) STACK=0000H 184 193 203 205 207 289
|
||||
293 295 299 303 321 323 329 334 383 384 407 415
|
||||
2 CTRLC. . . . . . . . LITERALLY 99
|
||||
13 0000H 1 CURDRV . . . . . . . BYTE EXTERNAL(6) 186 209 396
|
||||
33 0000H 2 CURFILE. . . . . . . WORD 199 214 284 308 337 345 375 392 403
|
||||
110 0004H 2 CURLINE. . . . . . . WORD 194 201 208 287 290 304 319 332 338 345 377
|
||||
13 0000H 1 CURUSR . . . . . . . BYTE EXTERNAL(7) 191 250 259
|
||||
17 0000H 1 DATEOPT. . . . . . . BYTE EXTERNAL(11) 360
|
||||
2 DCL. . . . . . . . . LITERALLY
|
||||
229 0018H 1 DCNT . . . . . . . . BYTE 232 233 234 239
|
||||
24 0000H 1 DIR. . . . . . . . . BYTE MEMBER(FIND) 226
|
||||
83 DIRBLKW. . . . . . . LITERALLY
|
||||
90 0000H 15 DIRECTCONSOLEIO. . . PROCEDURE BYTE STACK=0008H 95 97
|
||||
28 0000H 1 DIRLABEL . . . . . . BYTE EXTERNAL(20) 326 362 370
|
||||
31 DIRLABELTYPE . . . . LITERALLY
|
||||
83 DIRMAXW. . . . . . . LITERALLY 401
|
||||
29 DISKMAPLEN . . . . . LITERALLY
|
||||
1 0000H DISPLAY. . . . . . . PROCEDURE STACK=0000H
|
||||
18 0000H 1 DISPLAYATTRIBUTES. . BYTE EXTERNAL(12) 133
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 14
|
||||
|
||||
|
||||
117 005BH 287 DISPLAYFILEINFO. . . PROCEDURE STACK=000AH 307 335
|
||||
344 0611H 443 DISPLAYFILES . . . . PROCEDURE PUBLIC STACK=001AH
|
||||
279 04B0H 182 DISPLAYNODIRLABEL. . PROCEDURE STACK=0016H 372
|
||||
75 0000H DISPLAYTIMESTAMP . . PROCEDURE EXTERNAL(40) STACK=0000H 171 176
|
||||
180 020EH 98 DISPLAYTITLE . . . . PROCEDURE STACK=000AH 204 294 322 408
|
||||
314 0566H 171 DISPLAYWITHDIRLABEL. PROCEDURE STACK=0016H 363 371
|
||||
157 017AH 148 DISPLAYXFCBINFO. . . PROCEDURE STACK=0006H 336
|
||||
31 DLACCESS . . . . . . LITERALLY 326 362
|
||||
31 DLEXISTS . . . . . . LITERALLY 362 370
|
||||
31 DLMAKEXFCB . . . . . LITERALLY 362
|
||||
31 DLPASSWORD . . . . . LITERALLY
|
||||
31 DLUPDATE . . . . . . LITERALLY 362
|
||||
84 0000H DPBBYTE. . . . . . . PROCEDURE BYTE EXTERNAL(43) STACK=0000H 235
|
||||
84 0000H 1 DPBINDEX . . . . . . BYTE PARAMETER 85
|
||||
87 0000H 1 DPBINDEX . . . . . . BYTE PARAMETER 88
|
||||
87 0000H DPBWORD. . . . . . . PROCEDURE WORD EXTERNAL(44) STACK=0000H 401
|
||||
24 0007H 1 EXCLUDE. . . . . . . BYTE MEMBER(FIND)
|
||||
83 EXTMSKB. . . . . . . LITERALLY 235
|
||||
10 0000H 1 F. . . . . . . . . . BYTE PARAMETER 11
|
||||
4 0000H 1 F. . . . . . . . . . BYTE PARAMETER 5
|
||||
7 0000H 1 F. . . . . . . . . . BYTE PARAMETER 8
|
||||
2 FALSE. . . . . . . . LITERALLY 27 195 222 245
|
||||
29 FARC . . . . . . . . LITERALLY 135 140
|
||||
3 0000H 33 FCB. . . . . . . . . BYTE ARRAY(33) EXTERNAL(0) 230 232
|
||||
73 0002H 2 FCBADR . . . . . . . WORD
|
||||
67 0000H 2 FCBADR . . . . . . . WORD PARAMETER 68
|
||||
29 FCR. . . . . . . . . LITERALLY
|
||||
29 FDIRSYS. . . . . . . LITERALLY 125 226
|
||||
29 FDISKMAP . . . . . . LITERALLY
|
||||
29 FDRVUSR. . . . . . . LITERALLY 230 235
|
||||
29 FDRVUSR2 . . . . . . LITERALLY
|
||||
29 FEX. . . . . . . . . LITERALLY 235
|
||||
2 FF . . . . . . . . . LITERALLY 182 380
|
||||
33 0000H 2 FIADR. . . . . . . . WORD EXTERNAL(22) 36 105 106 107 118 120 123 125 129
|
||||
135 140 143 146 149 152 158 161 249 250 252 255 258 259
|
||||
260 268 269 272 273 281 282 316 317 348
|
||||
38 0000H 2 FIINDICES. . . . . . WORD BASED(FIINDICESBASE) ARRAY(1) 249 252
|
||||
38 0000H 2 FIINDICESBASE. . . . WORD EXTERNAL(26) 38 249 252
|
||||
27 000AH 1 FILEDISPLAYED. . . . BYTE PUBLIC INITIAL 413
|
||||
36 0000H 23 FILEINFO . . . . . . STRUCTURE BASED(FIADR) 105 106 107 118 120 123 125 129
|
||||
135 140 143 146 149 152 158 161 250 258 259 260 269 272
|
||||
273 282 317 348 349
|
||||
20 0000H 2 FILESFOUND . . . . . WORD EXTERNAL(14) 250 254
|
||||
109 0016H 1 FILESPERLINE . . . . BYTE 199 231 266 267 280 284 315
|
||||
24 0000H 8 FIND . . . . . . . . STRUCTURE EXTERNAL(15) 226 269 282 317
|
||||
21 FINDSTRUCTURE. . . . LITERALLY 24
|
||||
34 FINFOSTRUCTURE . . . LITERALLY 36
|
||||
33 0000H 2 FIRSTFIADR . . . . . WORD EXTERNAL(24) 348
|
||||
179 0017H 1 FIRSTTITLE . . . . . BYTE INITIAL 183 195
|
||||
29 FNAME. . . . . . . . LITERALLY 237 238
|
||||
29 FNAME2 . . . . . . . LITERALLY
|
||||
49 0000H 2 FNAMEADR . . . . . . WORD PARAMETER 50
|
||||
197 0004H 2 FNAMEADR . . . . . . WORD PARAMETER AUTOMATIC 198 213
|
||||
29 FNAMELEN . . . . . . LITERALLY
|
||||
2 FOREVER. . . . . . . LITERALLY
|
||||
25 0000H 1 FORMAT . . . . . . . BYTE EXTERNAL(16) 265 352 357 375
|
||||
25 0000H 1 FORMFEEDS. . . . . . BYTE EXTERNAL(19) 181 377 414
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 15
|
||||
|
||||
|
||||
26 FORMFULL . . . . . . LITERALLY
|
||||
26 FORMSHORT. . . . . . LITERALLY 375
|
||||
26 FORMSIZE . . . . . . LITERALLY 265
|
||||
29 FRC. . . . . . . . . LITERALLY
|
||||
29 FRREC. . . . . . . . LITERALLY
|
||||
29 FRRECO . . . . . . . LITERALLY
|
||||
29 FRW. . . . . . . . . LITERALLY 129 226
|
||||
29 FS1. . . . . . . . . LITERALLY
|
||||
29 FTYPE. . . . . . . . LITERALLY
|
||||
29 FTYPE2 . . . . . . . LITERALLY
|
||||
29 FTYPELEN . . . . . . LITERALLY
|
||||
243 03A9H 141 GETNXTFILEINFO . . . PROCEDURE STACK=0006H 276 311 341 351
|
||||
102 000CH 1 GLOBALLINECOUNT. . . BYTE INITIAL
|
||||
36 0013H 2 HASHLINK . . . . . . WORD MEMBER(FILEINFO)
|
||||
103 0002H 1 HBYTE. . . . . . . . BYTE MEMBER(TOTAL1KBLOCKS) 347
|
||||
103 0002H 1 HBYTE. . . . . . . . BYTE MEMBER(TOTALKBYTES) 346
|
||||
103 0002H 1 HBYTE. . . . . . . . BYTE MEMBER(TOTALRECS) 346
|
||||
111 0000H 40 HDR. . . . . . . . . BYTE ARRAY(40) DATA 296 298 324
|
||||
115 008EH 17 HDRACCESS. . . . . . BYTE ARRAY(17) DATA 327
|
||||
112 0028H 40 HDRBARS. . . . . . . BYTE ARRAY(40) DATA 300 302 330
|
||||
116 009FH 17 HDRCREATE. . . . . . BYTE ARRAY(17) DATA 328
|
||||
113 0050H 23 HDRPU. . . . . . . . BYTE ARRAY(23) DATA 325
|
||||
114 0067H 39 HDRXFCBBARS. . . . . BYTE ARRAY(39) DATA 331
|
||||
80 0000H 2 INDEX. . . . . . . . WORD PARAMETER 81
|
||||
242 0008H 2 INDEX. . . . . . . . WORD 248 249 250 251 252 254 350
|
||||
36 000EH 2 KBYTES . . . . . . . WORD MEMBER(FILEINFO) 105 120 273
|
||||
33 0000H 2 LASTFIADR. . . . . . WORD EXTERNAL(23) 349
|
||||
242 0006H 2 LASTPLUSONE. . . . . WORD 255 259 268 281 316 349
|
||||
2 LF . . . . . . . . . LITERALLY 393 409
|
||||
2 LIT. . . . . . . . . LITERALLY 2 15 21 23 26 29 30 31 32 34 35
|
||||
83
|
||||
103 0000H 2 LWORD. . . . . . . . WORD MEMBER(TOTAL1KBLOCKS) 347
|
||||
103 0000H 2 LWORD. . . . . . . . WORD MEMBER(TOTALRECS) 346
|
||||
103 0000H 2 LWORD. . . . . . . . WORD MEMBER(TOTALKBYTES) 346
|
||||
72 0000H MATCH. . . . . . . . PROCEDURE BYTE EXTERNAL(39) STACK=0000H 236
|
||||
3 0000H 2 MAXB . . . . . . . . WORD EXTERNAL(1)
|
||||
22 MAXSEARCHFILES . . . LITERALLY
|
||||
25 0000H 1 MESSAGE. . . . . . . BYTE EXTERNAL(18) 405
|
||||
4 0000H MON1 . . . . . . . . PROCEDURE EXTERNAL(3) STACK=0000H
|
||||
7 0000H MON2 . . . . . . . . PROCEDURE BYTE EXTERNAL(4) STACK=0000H 91
|
||||
10 0000H MON3 . . . . . . . . PROCEDURE WORD EXTERNAL(5) STACK=0000H
|
||||
15 MPM. . . . . . . . . LITERALLY
|
||||
15 MPM86. . . . . . . . LITERALLY
|
||||
80 0000H MULT23 . . . . . . . PROCEDURE WORD EXTERNAL(42) STACK=0000H 249 252
|
||||
36 0001H 8 NAME . . . . . . . . BYTE ARRAY(8) MEMBER(FILEINFO) 118 125 129 135 140 143 146
|
||||
149 152 269 272 282 317
|
||||
225 0000H 1 NAME . . . . . . . . BYTE BASED(NAMEADR) ARRAY(1) 226
|
||||
224 0004H 2 NAMEADR. . . . . . . WORD PARAMETER AUTOMATIC 225 226
|
||||
24 0006H 1 NONXFCB. . . . . . . BYTE MEMBER(FIND) 269 282 317
|
||||
2 NOPAGEMODEOFFSET . . LITERALLY
|
||||
216 0006H 1 OFF. . . . . . . . . BYTE PARAMETER AUTOMATIC 217 218
|
||||
83 OFFSETW. . . . . . . LITERALLY
|
||||
216 0004H 1 ON . . . . . . . . . BYTE PARAMETER AUTOMATIC 217 220
|
||||
36 000CH 2 ONEKBLOCKS . . . . . WORD MEMBER(FILEINFO) 107
|
||||
14 0000H 1 OS . . . . . . . . . BYTE EXTERNAL(8)
|
||||
55 0000H P3BYTE . . . . . . . PROCEDURE EXTERNAL(33) STACK=0000H 123 387 390 394
|
||||
25 0000H 2 PAGELEN. . . . . . . WORD EXTERNAL(17) 201 287 319 377
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 16
|
||||
|
||||
|
||||
2 PAGELENOFFSET. . . . LITERALLY
|
||||
24 0004H 1 PASS . . . . . . . . BYTE MEMBER(FIND)
|
||||
30 PASSLEN. . . . . . . LITERALLY
|
||||
37 0008H 1 PASSMODE . . . . . . BYTE MEMBER(XFCBINFO) 162 164 166
|
||||
52 0000H PDECIMAL . . . . . . PROCEDURE EXTERNAL(32) STACK=0000H 120 191 273 392 399 401
|
||||
32 PMDELETE . . . . . . LITERALLY 166
|
||||
32 PMREAD . . . . . . . LITERALLY 162
|
||||
32 PMWRITE. . . . . . . LITERALLY 164
|
||||
55 0000H 2 PREC . . . . . . . . WORD PARAMETER 56
|
||||
52 0000H 2 PREC . . . . . . . . WORD PARAMETER 53
|
||||
42 0000H PRINT. . . . . . . . PROCEDURE EXTERNAL(28) STACK=0000H 126 127 130 131 136 137
|
||||
163 165 167 168 172 185 190 212 274 296 298 300 302 324
|
||||
325 327 328 330 331 354 365 386 389 391 393 395 409
|
||||
45 0000H PRINTB . . . . . . . PROCEDURE EXTERNAL(29) STACK=0000H 119 122 124 128 132 142
|
||||
145 148 151 154 160 169 173 174 211 285 297 301 398
|
||||
39 0000H PRINTCHAR. . . . . . PROCEDURE EXTERNAL(27) STACK=0000H 121 141 144 147 150 153
|
||||
182 186 187 209 379 380 388 396 397 400
|
||||
49 0000H PRINTFN. . . . . . . PROCEDURE EXTERNAL(31) STACK=0000H 118 213
|
||||
36 0012H 1 RECSHBYTE. . . . . . BYTE MEMBER(FILEINFO)
|
||||
36 0010H 2 RECSLWORD. . . . . . WORD MEMBER(FILEINFO) 106 123
|
||||
224 02EEH 49 RIGHTATTRIBUTES. . . PROCEDURE BYTE STACK=0010H 237 269 282 317
|
||||
244 0019H 1 RIGHTUSR . . . . . . BYTE 245
|
||||
24 0002H 1 RO . . . . . . . . . BYTE MEMBER(FIND) 226
|
||||
ROL. . . . . . . . . BUILTIN 125 129 135 140 143 146 149 152
|
||||
24 0003H 1 RW . . . . . . . . . BYTE MEMBER(FIND) 226
|
||||
67 0000H SEARCHFIRST. . . . . PROCEDURE BYTE EXTERNAL(37) STACK=0000H 232
|
||||
70 0000H SEARCHNEXT . . . . . PROCEDURE BYTE EXTERNAL(38) STACK=0000H 239
|
||||
23 SEARCHSTRUCTURE. . . LITERALLY
|
||||
2 SECTORLEN. . . . . . LITERALLY
|
||||
SHL. . . . . . . . . BUILTIN 234
|
||||
228 031FH 138 SHORTDIR . . . . . . PROCEDURE STACK=0014H 358
|
||||
197 0270H 81 SHORTDISPLAY . . . . PROCEDURE STACK=0010H 238 272
|
||||
64 0000H SHR3BYTE . . . . . . PROCEDURE EXTERNAL(36) STACK=0000H
|
||||
SIZE . . . . . . . . BUILTIN 258 260 348 349
|
||||
264 0436H 122 SIZEDISPLAY. . . . . PROCEDURE STACK=0016H 359
|
||||
19 0000H 1 SORTED . . . . . . . BYTE EXTERNAL(13) 246
|
||||
83 SPTW . . . . . . . . LITERALLY
|
||||
42 0000H 2 STRINGADR. . . . . . WORD PARAMETER 43
|
||||
24 0001H 1 SYS. . . . . . . . . BYTE MEMBER(FIND) 226
|
||||
2 TAB. . . . . . . . . LITERALLY
|
||||
78 0000H TERMINATE. . . . . . PROCEDURE EXTERNAL(41) STACK=0000H 100 355 366
|
||||
216 02C1H 45 TESTATT. . . . . . . PROCEDURE BYTE STACK=0008H 226
|
||||
103 0013H 3 TOTAL1KBLOCKS. . . . STRUCTURE 107 347 394
|
||||
103 000DH 3 TOTALKBYTES. . . . . STRUCTURE 105 346 387
|
||||
103 0010H 3 TOTALRECS. . . . . . STRUCTURE 106 346 390
|
||||
2 TRUE . . . . . . . . LITERALLY 120 179 191 219 221 273 392 399 401 413
|
||||
75 0000H 2 TSADR. . . . . . . . WORD PARAMETER 76
|
||||
36 0009H 3 TYPE . . . . . . . . BYTE ARRAY(3) MEMBER(FILEINFO)
|
||||
37 0004H 4 UPDATE . . . . . . . BYTE ARRAY(4) MEMBER(XFCBINFO) 170 171
|
||||
16 0000H 2 USEDDE . . . . . . . WORD EXTERNAL(10) 399
|
||||
36 0000H 1 USR. . . . . . . . . BYTE MEMBER(FILEINFO) 250 259
|
||||
52 0000H 2 V. . . . . . . . . . WORD PARAMETER 53
|
||||
93 000FH 28 WAITKEYPRESS . . . . PROCEDURE STACK=000CH
|
||||
58 0000H 2 WORDAMT. . . . . . . WORD PARAMETER 59
|
||||
24 0005H 1 XFCB . . . . . . . . BYTE MEMBER(FIND) 269 282 317
|
||||
37 0000H 9 XFCBINFO . . . . . . STRUCTURE BASED(XIADR) 162 164 166 170 171 175 176
|
||||
30 XFCBTYPE . . . . . . LITERALLY
|
||||
PL/M-86 COMPILER SDIR - DISPLAY FILES PAGE 17
|
||||
|
||||
|
||||
30 XFCREATE . . . . . . LITERALLY
|
||||
30 XFPASS . . . . . . . LITERALLY
|
||||
30 XFPASSMODE . . . . . LITERALLY
|
||||
30 XFUPDATE . . . . . . LITERALLY
|
||||
37 0000H 2 XIADR. . . . . . . . WORD EXTERNAL(25) 37 161 162 164 166 170 171 175 176
|
||||
36 0015H 2 XIADR. . . . . . . . WORD MEMBER(FILEINFO) 158 161 269 282 317
|
||||
35 XINFOSTRUCTURE . . . LITERALLY 37
|
||||
52 0000H 1 ZEROSUP. . . . . . . BYTE PARAMETER 53
|
||||
|
||||
|
||||
|
||||
MODULE INFORMATION:
|
||||
|
||||
CODE AREA SIZE = 07CCH 1996D
|
||||
CONSTANT AREA SIZE = 01CDH 461D
|
||||
VARIABLE AREA SIZE = 001AH 26D
|
||||
MAXIMUM STACK SIZE = 001AH 26D
|
||||
667 LINES READ
|
||||
0 PROGRAM ERROR(S)
|
||||
|
||||
END OF PL/M-86 COMPILATION
|
||||
Reference in New Issue
Block a user