Files
Sepp J Morris 31738079c4 Upload
Digital Research
2020-11-06 18:50:37 +01:00

983 lines
50 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

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

PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 1
ISIS-II PL/M-86 V2.0 COMPILATION OF MODULE FILE
OBJECT MODULE PLACED IN FILES.OBJ
COMPILER INVOKED BY: :F0: FILES.PLM DEBUG OPTIMIZE(2) DATE(10/5/81) PAGEWIDTH(100) XREF
$title('FILE AND I/O MODULE')
1 file:
do;
/*
modified 3/26/81 R. Silberstein
modified 3/28/81 R. Silberstein
modified 3/30/81 R. Silberstein
modified 4/7/81 R. Silberstein
modified 4/16/81 R. Silberstein
modified 6/16/81 R. Silberstein
modified 9/14/81 R. Silberstein
*/
/*
This is the modules to perform BYTE i/o to
the following 5 logical devices:
source - file
include - file
hex - file
symbol - file
print - file
Each of the logical files may be assigned to the
following physical devices :
null (not legal for source and include file)
console
printer (not legal for source and include file)
disk
The module defines the following set
of public subroutines:
INSOURCEBYTE - read 1 byte from source file
ININCLUDEBYTE - read 1 byte from include file
OUTHEXBYTE (ch) - write 1 byte to hex file
OUTSYMBOLBYTE (ch) - write 1 byte to symbol file
OUTPRINTBYTE (ch) - write 1 byte to print file
OPENSOURCE - open source file
OPENINCLUDE - open include file
OPENHEX - open hex file
OPENSYMBOL - open symbol file
OPENPRINT - open print file
REWINDSOURCE - rewind source file
CLOSESOURCE - close source file
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 2
CLOSEINCLUDE - close include file
CLOSEHEX - close hex file
CLOSESYMBOL - close symbol file
CLOSEPRINT - close print file
In addition, 2 subroutines to set up the correct
file names and routing to correct physical device
are included. These are:
FILESETUP
I$FILESETUP
The "filesetup" routine sets up the source, hex, symbol
and print files by scanning the user command tail of the
program activating line. The format of the command line
is described in the program format section of the user's
manual. The routine also initiates the global string array
"SOURCENAME" with the source file name, this array to be
used later by the printout module.
The "ifilesetup" sets up the format of the include file
given by the INCLUDE command of the assembler.
*/
$include (:f1:macro.lit)
= $nolist
$include (:f1:struc.lit)
= $nolist
$include (:f1:dev.lit)
= $nolist
$include (:f1:io.ext)
= $nolist
$include (:f1:subr1.ext)
= $nolist
$include (:f1:subr2.ext)
= $nolist
$INCLUDE (:F1:TEXT.EXT)
= $nolist
$include (:f1:global.ext)
= $nolist
109 1 dcl
diskunit byte,
nulltype lit '0', /* subroutine "devicetype" */
consoletype lit '1',
printertype lit '2',
disktype lit '3',
dr lit '0', /* drive code in fcb block */
fn lit '1', /* filename in fcb block */
ft lit '9', /* filetype in fcb block */
ex lit '12', /* file extension number */
s2 lit '14',
nr lit '32', /* file record number */
dollar lit '''$''',
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 3
asmdefault(3) byte data ('A86'), /* different file types */
hexdefault(3) byte data ('H86'),
lstdefault(3) byte data ('LST'),
symdefault(3) byte data ('SYM'),
sourcefile file$i$structure,
includefile file$i$structure,
hexfile file$o$structure,
printfile file$o$structure,
symbolfile file$o$structure;
110 1 clearfcb: proc(fcbpt,defaultpt);
111 2 dcl
(fcbpt,defaultpt) addr,
dest based fcbpt (1) byte;
112 2 CALL FILL (0, 33, FCBPT);
113 2 CALL FILL (' ', 8, FCBPT+FN);
114 2 call copy(3,defaultpt,.dest(ft));
115 2 end clearfcb;
116 1 clearcontrol: procedure(point,defaultptr);
117 2 dcl (point,defaultptr) addr,
x based point file$o$structure;
118 2 call clearfcb(.x.fcbblock,defaultptr);
119 2 x.disk=diskunit;
120 2 end clearcontrol;
121 1 devicetype: proc(ch) byte;
122 2 dcl ch byte;
123 2 if ch=null then return nulltype;
125 2 if ch=console then return consoletype;
127 2 if ch=printer then return printertype;
129 2 return disktype;
130 2 end devicetype;
131 1 disk$select: procedure(disk);
132 2 dcl disk byte;
133 2 if diskunit <> disk then$do
135 3 diskunit=disk;
136 3 call select$disk(diskunit);
137 3 end$if;
138 2 end disk$select;
139 1 inbyte: proc (ptr) byte;
140 2 dcl ptr addr,
x based ptr file$i$structure,
ch byte,
i addr;
141 2 i=x.bufptr;
142 2 if i=length(x.buffer) then$do
144 3 i=0;
145 3 call disk$select(x.disk);
146 3 do while i < length(x.buffer);
147 4 call SET$DMA$ADDRESS (.x.buffer(i));
148 4 IF (CH := READ$RECORD (.X.FCBBLOCK)) <> 0 THEN$DO
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 4
150 5 IF CH = 1 THEN$DO
152 6 X.BUFFER (I) = END$OF$FILE;
153 6 I = LENGTH (X.BUFFER);
154 6 ELSE$DO
156 6 CALL FILEABORT (.X, .DISKREADERRTEXT);
157 6 END$IF;
158 5 else$do
160 5 i=i+128;
161 5 end$if;
162 4 end$while;
163 3 i=0;
164 3 end$if;
165 2 ch=x.buffer(i);
166 2 x.bufptr=i+1;
167 2 return ch;
168 2 end inbyte;
169 1 FLUSHBUFFER: PROCEDURE (PTR);
170 2 DECLARE (PTR, I) ADDRESS, X BASED PTR FILE$O$STRUCTURE;
171 2 call disk$select(x.disk);
172 2 i=0;
173 2 do while i < x.bufptr;
174 3 call SET$DMA$ADDRESS (.x.buffer(i));
175 3 IF WRITE$RECORD (.X.FCBBLOCK) > 0 THEN
176 3 CALL FILEABORT (.X, .DISKWRITEERRTXT);
177 3 i=i+128;
178 3 end$while;
179 2 END FLUSHBUFFER;
180 1 outbyte: proc(ch,ptr);
181 2 dcl ch byte,
ptr addr,
x based ptr file$o$structure,
i addr;
182 2 do case devicetype(x.disk);
/* null */
183 3 do; end; /* do nothing */
/* console */
185 3 call write$console(ch);
/* printer */
186 3 call write$list(ch);
/* disk file */
187 3 do;
188 4 i=x.bufptr;
189 4 if i=length(x.buffer) then$do
191 5 CALL FLUSHBUFFER (PTR);
192 5 i=0;
193 5 end$if;
194 4 x.buffer(i)=ch;
195 4 x.bufptr=i+1;
196 4 end;
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 5
197 3 end$case;
198 2 end outbyte;
199 1 open$input: proc (ptr);
200 2 dcl ptr addr,
x based ptr file$i$structure;
201 2 x.bufptr=length(x.buffer);
202 2 call disk$select(x.disk);
203 2 IF LOW (VERSION) >= 30H THEN$DO
205 3 IF OPEN$RO$FILE (.X.FCBBLOCK) <> 0FFH THEN RETURN;
ELSE$DO
209 3 IF OPEN$FILE (.X.FCBBLOCK) <> 0FFH THEN RETURN;
END$IF;
212 2 CALL FILEABORT (.X, .OPENERRTEXT);
213 2 end open$input;
214 1 open$output: proc(ptr);
215 2 dcl ptr addr,
x based ptr file$o$structure;
216 2 if devicetype(x.disk)=disktype then$do
218 3 x.bufptr=0;
219 3 call disk$select(x.disk);
220 3 CALL delete$file(.x.fcbblock);
221 3 if create$file(.x.fcbblock) = 0ffh then
222 3 CALL FILEABORT (.X, .MAKEERRTEXT);
end$if;
224 2 end open$output;
225 1 outputclose: proc(ptr);
226 2 dcl ptr addr,
x based ptr file$o$structure;
227 2 if devicetype(x.disk)=disktype then$do
229 3 call outbyte(end$of$file,.x);
230 3 CALL FLUSHBUFFER (PTR);
231 3 IF CLOSE$FILE (.X.FCBBLOCK) = 0FFH THEN
232 3 CALL FILEABORT (.X, .CLOSEERRTEXT);
end$if;
234 2 end outputclose;
235 1 INPUT$CLOSE: PROCEDURE (PTR);
236 2 DECLARE PTR ADDRESS, X BASED PTR FILE$I$STRUCTURE;
237 2 CALL DISK$SELECT (X.DISK);
238 2 CALL SET$DMA$ADDRESS (.X.BUFFER);
239 2 IF CLOSE$FILE (.X.FCBBLOCK) THEN;
241 2 END INPUT$CLOSE;
242 1 outhexbyte: proc(ch) public;
243 2 dcl ch byte;
244 2 call outbyte(ch,.hex$file);
245 2 end outhexbyte;
246 1 outprintbyte: proc(ch) public;
247 2 dcl ch byte;
248 2 if printfile.disk=console then$do
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 6
250 3 call write$console(ch);
251 3 else$do
253 3 if error$printed then call write$console(ch);
255 3 call outbyte(ch,.printfile);
256 3 end$if;
257 2 end outprintbyte;
258 1 outsymbolbyte: proc(ch) public;
259 2 dcl ch byte;
260 2 call outbyte(ch,.symbolfile);
261 2 end outsymbolbyte;
262 1 insourcebyte: proc byte public;
263 2 return inbyte(.sourcefile);
264 2 end insourcebyte;
265 1 inincludebyte: proc byte public;
266 2 return inbyte(.includefile);
267 2 end inincludebyte;
268 1 opensource: proc public;
269 2 CALL open$input(.sourcefile);
270 2 end opensource;
271 1 openinclude: proc public;
272 2 CALL open$input(.includefile);
273 2 end openinclude;
274 1 openhex: proc public;
275 2 CALL open$output(.hexfile);
276 2 end openhex;
277 1 openprint: proc public;
278 2 CALL open$output(.printfile);
279 2 end openprint;
280 1 opensymbol: proc public;
281 2 CALL open$output(.symbolfile);
282 2 end opensymbol;
283 1 close$source: proc public;
284 2 call input$close (.source$file);
285 2 end close$source;
286 1 rewindsource: proc public;
287 2 sourcefile.fcbblock(nr)=0;
288 2 sourcefile.bufptr=length(sourcefile.buffer);
289 2 if sourcefile.fcbblock(ex) <> 0 then$do
291 3 sourcefile.fcbblock(ex)=0;
292 3 sourcefile.fcbblock(s2)=0;
293 3 CALL opensource;
294 3 end$if;
295 2 end rewindsource;
296 1 close$include: proc public;
297 2 call input$close (.include$file);
298 2 end close$include;
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 7
299 1 closehex: proc public;
300 2 call outputclose(.hexfile);
301 2 end closehex;
302 1 closeprint: proc public;
303 2 call outputclose(.printfile);
304 2 end closeprint;
305 1 closesymbol: proc public;
306 2 call outputclose(.symbolfile);
307 2 end closesymbol;
308 1 i$file$setup: proc(dev,filnam,filtyp) public;
309 2 dcl dev byte,(filnam,filtyp) addr;
310 2 call clearcontrol(.includefile,filtyp);
311 2 includefile.disk=dev;
312 2 call copy(8,filnam,.includefile.fcbblock(fn));
313 2 end i$file$setup;
314 1 filesetup: proc byte public;
315 2 dcl
ch byte, /* pick up character */
i byte, /* counter */
noleft byte, /* no of characters left in tbuff */
bpt byte, /* index of tbuff */
exitvalue byte, /* exitvalue of subroutine */
flag byte; /* program logic flag */
316 2 nextch: proc byte;
317 3 if noleft > 0 then$do
319 4 ch=tbuff(bpt);
320 4 noleft=noleft-1;
321 4 bpt=bpt+1;
322 4 else$do
324 4 ch=cr;
325 4 end$if;
326 3 return ch;
327 3 end nextch;
328 2 getdsk: procedure (p);
329 3 declare p address, dsk based p byte;
330 3 ch=upper(nextch); /* test selected disk drive */
331 3 if letter(ch) then$do
333 4 dsk=ch-'A';
334 4 if dsk > validdisk then
335 4 if dsk < console then
336 4 exitvalue = false; /* invalid drive */
else$do
339 4 exitvalue=false;
340 4 noleft=0;
341 4 end$if;
342 3 end getdsk;
343 2 exitvalue=true;
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 8
/* save current disk */
344 2 default$drive,diskunit=interrogate$disk;
/* enter user selected disk */
345 2 if fcb(dr) <> 0 then$do
347 3 call selectdisk(diskunit:=fcb(dr)-1);
348 3 end$if;
/* clear control blocks */
349 2 call clearcontrol(.sourcefile,.asmdefault);
350 2 call clearcontrol(.hexfile,.hexdefault);
351 2 call clearcontrol(.printfile,.lstdefault);
352 2 call clearcontrol(.symbolfile,.symdefault);
353 2 call copy(8,.fcb(fn),.sourcefile.fcbblock(fn));
354 2 call copy(8,.fcb(fn),.hexfile.fcbblock(fn));
355 2 call copy(8,.fcb(fn),.printfile.fcbblock(fn));
356 2 call copy(8,.fcb(fn),.symbolfile.fcbblock(fn));
357 2 if FCB (FT) <> SPACE then$do /* pick up specified source file type */
359 3 call copy(3,.fcb(ft),.sourcefile.fcbblock(ft));
360 3 end$if;
/* Move source file name to SOURCENAME */
361 2 CALL FILL (SPACE, LENGTH (SOURCENAME), .SOURCENAME);
362 2 i=0;
363 2 do while i<8 and (sourcename(i):=sourcefile.fcbblock(fn+i)) <> space;
364 3 i=i+1;
365 3 end$while;
366 2 sourcename(i)='.';
367 2 i=i+1;
368 2 call copy(3,.sourcefile.fcbblock(ft),.sourcename(i));
/* Test if file parameters */
369 2 noleft=tbuff(0);
370 2 bpt=1;
371 2 FLAG = FALSE;
372 2 IF FCB16 (1) <> SPACE THEN$DO
374 3 IF FCB16 (1) <> DOLLAR THEN$DO
376 4 EXITVALUE = FALSE;
377 4 ELSE$DO
379 4 DO WHILE (NOLEFT > 0) AND (NEXTCH <> DOLLAR);
380 5 END$WHILE;
381 4 FLAG = TRUE;
382 4 END$IF;
383 3 END$IF;
384 2 if flag then$do
/* file parameters present - pick them up */
386 3 do while noleft > 0;
387 4 if (ch:=upper(nextch)) <> space then$do
/* A-parameter */
389 5 IF CH = 'A' THEN call getdsk(.sourcefile.disk);
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 9
/* H-parameter */
391 5 ELSE IF CH = 'H' THEN call getdsk(.hexfile.disk);
/* P-parameter */
393 5 ELSE IF CH = 'P' THEN call getdsk(.printfile.disk);
/* S-parameter */
395 5 ELSE IF CH = 'S' THEN call getdsk(.symbolfile.disk);
/* F-parameter */
397 5 ELSE IF CH = 'F' THEN$DO
399 6 if (ch:=upper(nextch)) = 'I' then$do
401 7 intel$hex$on=true;
402 7 else$do
404 7 if ch= 'D' then$do
406 8 intel$hex$on=false;
407 8 else$do
409 8 exitvalue=false;
410 8 noleft=0;
411 8 endif;
412 7 endif;
413 6 END$IF;
/* error,no legal parameter */
ELSE
414 5 DO;
415 6 exitvalue=false;
416 6 noleft=0;
417 6 END$DO;
418 5 end$if;
end$while;
420 3 end$if;
421 2 printdevice=printfile.disk; /* set global printdevice flag */
422 2 SYMBOLDEVICE = SYMBOLFILE.DISK;
423 2 INCLUDE$DEFAULT = SOURCEFILE.DISK;
/* input must be from a disk file */
424 2 if devicetype(sourcefile.disk) <> disktype then$do
426 3 exitvalue=false;
427 3 end$if;
428 2 return exitvalue;
429 2 end filesetup;
430 1 end file;
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 10
CROSS-REFERENCE LISTING
-----------------------
DEFN ADDR SIZE NAME, ATTRIBUTES, AND REFERENCES
----- ------ ----- --------------------------------
106 0000H 4 ABSADDR. . . . . . BYTE ARRAY(4) EXTERNAL(87)
106 0000H 1 ACCLEN . . . . . . BYTE EXTERNAL(91)
106 0000H 1 ACCLENSAVE . . . . BYTE EXTERNAL(94)
106 0000H 80 ACCUM. . . . . . . BYTE ARRAY(80) EXTERNAL(92)
106 0000H 80 ACCUMSAVE. . . . . BYTE ARRAY(80) EXTERNAL(93)
2 ADDR . . . . . . . LITERALLY 61 64 67 70 76 94 97
100 103 106 109 111 117 140 170 181 200
215 226 236 309
84 0000H ALPHANUMERIC . . . PROCEDURE BYTE EXTERNAL(31) STACK=0000H
87 0000H ASCIICHAR. . . . . PROCEDURE BYTE EXTERNAL(32) STACK=0000H
105 0000H 1 ASM86TEXT. . . . . BYTE ARRAY(1) EXTERNAL(44)
109 0000H 3 ASMDEFAULT . . . . BYTE ARRAY(3) DATA 349
106 0008H 1 BASEINDEX. . . . . BYTE MEMBER(CURRENTSYMBOL)
106 0008H 1 BASEINDEX. . . . . BYTE MEMBER(OPERANDS)
3 BASEREGBIT . . . . LITERALLY
3 BASEREGCOUNT . . . LITERALLY
315 0EBFH 1 BPT. . . . . . . . BYTE 319 321 370
3 BREGBIT. . . . . . LITERALLY
3 BREGCOUNT. . . . . LITERALLY
170 0024H 512 BUFFER . . . . . . BYTE ARRAY(512) MEMBER(X) 174
236 0024H 1024 BUFFER . . . . . . BYTE ARRAY(1024) MEMBER(X) 238
109 0024H 512 BUFFER . . . . . . BYTE ARRAY(512) MEMBER(SYMBOLFILE)
226 0024H 512 BUFFER . . . . . . BYTE ARRAY(512) MEMBER(X)
140 0024H 1024 BUFFER . . . . . . BYTE ARRAY(1024) MEMBER(X) 142 146 147
152 153 165
109 0024H 512 BUFFER . . . . . . BYTE ARRAY(512) MEMBER(PRINTFILE)
200 0024H 1024 BUFFER . . . . . . BYTE ARRAY(1024) MEMBER(X) 201
215 0024H 512 BUFFER . . . . . . BYTE ARRAY(512) MEMBER(X)
109 0024H 1024 BUFFER . . . . . . BYTE ARRAY(1024) MEMBER(INCLUDEFILE)
117 0024H 512 BUFFER . . . . . . BYTE ARRAY(512) MEMBER(X)
109 0024H 1024 BUFFER . . . . . . BYTE ARRAY(1024) MEMBER(SOURCEFILE) 288
109 0024H 512 BUFFER . . . . . . BYTE ARRAY(512) MEMBER(HEXFILE)
181 0024H 512 BUFFER . . . . . . BYTE ARRAY(512) MEMBER(X) 189 194
109 0022H 2 BUFPTR . . . . . . WORD MEMBER(INCLUDEFILE)
109 0022H 2 BUFPTR . . . . . . WORD MEMBER(PRINTFILE)
226 0022H 2 BUFPTR . . . . . . WORD MEMBER(X)
140 0022H 2 BUFPTR . . . . . . WORD MEMBER(X) 141 166
170 0022H 2 BUFPTR . . . . . . WORD MEMBER(X) 173
109 0022H 2 BUFPTR . . . . . . WORD MEMBER(HEXFILE)
215 0022H 2 BUFPTR . . . . . . WORD MEMBER(X) 218
109 0022H 2 BUFPTR . . . . . . WORD MEMBER(SYMBOLFILE)
117 0022H 2 BUFPTR . . . . . . WORD MEMBER(X)
181 0022H 2 BUFPTR . . . . . . WORD MEMBER(X) 188 195
109 0022H 2 BUFPTR . . . . . . WORD MEMBER(SOURCEFILE) 288
236 0022H 2 BUFPTR . . . . . . WORD MEMBER(X)
200 0022H 2 BUFPTR . . . . . . WORD MEMBER(X) 201
81 0000H 1 CH . . . . . . . . BYTE PARAMETER 82
315 0EBCH 1 CH . . . . . . . . BYTE 319 324 326 330 331 333 387 389
391 393 395 397 399 404
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 11
75 0000H 1 CH . . . . . . . . BYTE PARAMETER 76
246 0004H 1 CH . . . . . . . . BYTE PARAMETER AUTOMATIC 247 250 254 255
180 0006H 1 CH . . . . . . . . BYTE PARAMETER AUTOMATIC 181 185 186 194
90 0000H 1 CH . . . . . . . . BYTE PARAMETER 91
78 0000H 1 CH . . . . . . . . BYTE PARAMETER 79
242 0004H 1 CH . . . . . . . . BYTE PARAMETER AUTOMATIC 243 244
140 0EBBH 1 CH . . . . . . . . BYTE 148 150 165 167
84 0000H 1 CH . . . . . . . . BYTE PARAMETER 85
121 0004H 1 CH . . . . . . . . BYTE PARAMETER AUTOMATIC 122 123 125 127
258 0004H 1 CH . . . . . . . . BYTE PARAMETER AUTOMATIC 259 260
87 0000H 1 CH . . . . . . . . BYTE PARAMETER 88
19 0000H 1 CHAR . . . . . . . BYTE PARAMETER 20
22 0000H 1 CHAR . . . . . . . BYTE PARAMETER 23
106 0000H 2 CIP. . . . . . . . WORD EXTERNAL(56)
116 0031H 28 CLEARCONTROL . . . PROCEDURE STACK=0016H 310 349 350 351
352
110 0000H 49 CLEARFCB . . . . . PROCEDURE STACK=000EH 118
105 0000H 1 CLOSEERRTEXT . . . BYTE ARRAY(1) EXTERNAL(50) 232
38 0000H CLOSEFILE. . . . . PROCEDURE BYTE EXTERNAL(15) STACK=0000H 231
239
299 0399H 12 CLOSEHEX . . . . . PROCEDURE PUBLIC STACK=0020H
296 038DH 12 CLOSEINCLUDE . . . PROCEDURE PUBLIC STACK=0012H
302 03A5H 12 CLOSEPRINT . . . . PROCEDURE PUBLIC STACK=0020H
283 0361H 12 CLOSESOURCE. . . . PROCEDURE PUBLIC STACK=0012H
305 03B1H 12 CLOSESYMBOL. . . . PROCEDURE PUBLIC STACK=0020H
106 0000H 1 CODEMACROFLAG. . . BYTE EXTERNAL(113)
3 CODEMACROHEAD. . . LITERALLY
106 0000H 2 CODEMACROPTR . . . WORD EXTERNAL(108)
4 CONSOLE. . . . . . LITERALLY 125 248 335
109 CONSOLETYPE. . . . LITERALLY 126
25 0000H CONSTAT. . . . . . PROCEDURE BYTE EXTERNAL(10) STACK=0000H
66 0000H COPY . . . . . . . PROCEDURE EXTERNAL(25) STACK=0000H 114 312
353 354 355 356 359 368
2 CR . . . . . . . . LITERALLY 324
50 0000H CREATEFILE . . . . PROCEDURE BYTE EXTERNAL(19) STACK=0000H 221
58 0000H CRLF . . . . . . . PROCEDURE EXTERNAL(22) STACK=0000H
106 0000H 2 CSCIP. . . . . . . WORD EXTERNAL(61)
106 0000H 1 CSEGSPEC . . . . . BYTE EXTERNAL(59)
106 0000H 1 CSEGTYPE . . . . . BYTE EXTERNAL(57)
106 0000H 2 CSEGVALUE. . . . . WORD EXTERNAL(58)
106 0000H 1 CSPEC. . . . . . . BYTE EXTERNAL(68)
106 0000H 2 CURCSEG. . . . . . WORD EXTERNAL(64)
106 0000H 2 CURDSEG. . . . . . WORD EXTERNAL(65)
106 0000H 2 CURESEG. . . . . . WORD EXTERNAL(67)
106 0000H 9 CURRENTSYMBOL. . . STRUCTURE EXTERNAL(104)
106 0000H 2 CURSSEG. . . . . . WORD EXTERNAL(66)
96 0000H 2 D. . . . . . . . . WORD PARAMETER 97
93 0000H 2 D. . . . . . . . . WORD PARAMETER 94
102 0000H 2 D. . . . . . . . . WORD PARAMETER 103
66 0000H 2 D. . . . . . . . . WORD PARAMETER 67
99 0000H 2 D. . . . . . . . . WORD PARAMETER 100
2 DCL. . . . . . . . LITERALLY
102 0000H DECOUT . . . . . . PROCEDURE EXTERNAL(37) STACK=0000H
106 0000H 1 DEFAULTDRIVE . . . BYTE EXTERNAL(111) 344
110 0004H 2 DEFAULTPT. . . . . WORD PARAMETER AUTOMATIC 111 114
116 0004H 2 DEFAULTPTR . . . . WORD PARAMETER AUTOMATIC 117 118
41 0000H DELETEFILE . . . . PROCEDURE EXTERNAL(16) STACK=0000H 220
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 12
106 0001H 1 DESCR. . . . . . . BYTE MEMBER(TOKEN)
111 0000H 1 DEST . . . . . . . BYTE BASED(FCBPT) ARRAY(1) 114
308 0008H 1 DEV. . . . . . . . BYTE PARAMETER AUTOMATIC 309 311
121 004DH 39 DEVICETYPE . . . . PROCEDURE BYTE STACK=0004H 182 216 227
424
78 0000H DIGIT. . . . . . . PROCEDURE BYTE EXTERNAL(29) STACK=0000H
109 0000H 1 DISK . . . . . . . BYTE MEMBER(PRINTFILE) 248 394 421
140 0000H 1 DISK . . . . . . . BYTE MEMBER(X) 145
215 0000H 1 DISK . . . . . . . BYTE MEMBER(X) 216 219
109 0000H 1 DISK . . . . . . . BYTE MEMBER(HEXFILE) 392
109 0000H 1 DISK . . . . . . . BYTE MEMBER(SOURCEFILE) 390 423 424
236 0000H 1 DISK . . . . . . . BYTE MEMBER(X) 237
200 0000H 1 DISK . . . . . . . BYTE MEMBER(X) 202
109 0000H 1 DISK . . . . . . . BYTE MEMBER(INCLUDEFILE) 311
181 0000H 1 DISK . . . . . . . BYTE MEMBER(X) 182
170 0000H 1 DISK . . . . . . . BYTE MEMBER(X) 171
117 0000H 1 DISK . . . . . . . BYTE MEMBER(X) 119
226 0000H 1 DISK . . . . . . . BYTE MEMBER(X) 227
109 0000H 1 DISK . . . . . . . BYTE MEMBER(SYMBOLFILE) 396 422
131 0004H 1 DISK . . . . . . . BYTE PARAMETER AUTOMATIC 132 133 135
29 0000H 1 DISKNUMBER . . . . BYTE PARAMETER 30
105 0000H 1 DISKREADERRTEXT. . BYTE ARRAY(1) EXTERNAL(47) 156
131 0074H 23 DISKSELECT . . . . PROCEDURE STACK=0008H 145 171 202 219
237
109 DISKTYPE . . . . . LITERALLY 129 216 227 424
109 0EBAH 1 DISKUNIT . . . . . BYTE 119 133 135 136 344 347
105 0000H 1 DISKWRITEERRTXT. . BYTE ARRAY(1) EXTERNAL(48) 176
55 0000H 2 DMAADDRESS . . . . WORD PARAMETER 56
109 DOLLAR . . . . . . LITERALLY 374 379
109 DR . . . . . . . . LITERALLY 345 347
106 0000H 2 DSCIP. . . . . . . WORD EXTERNAL(63)
329 0000H 1 DSK. . . . . . . . BYTE BASED(P) 333 334 335
106 0000H 1 DSPEC. . . . . . . BYTE EXTERNAL(69)
2 ELSEDO . . . . . . LITERALLY 206 336
14 0000H 2 ENDBUF . . . . . . WORD EXTERNAL(5)
2 ENDCASE. . . . . . LITERALLY
2 ENDDO. . . . . . . LITERALLY
2 ENDFOREVER . . . . LITERALLY
2 ENDIF. . . . . . . LITERALLY 210 222 232
2 ENDMODULE. . . . . LITERALLY
2 ENDOFFILE. . . . . LITERALLY 152 229
2 ENDPROC. . . . . . LITERALLY
105 0000H 1 ENDTEXT. . . . . . BYTE ARRAY(1) EXTERNAL(42)
2 ENDWHILE . . . . . LITERALLY 418
106 0000H 1 EOFSET . . . . . . BYTE EXTERNAL(95)
93 0000H EQUAL. . . . . . . PROCEDURE BYTE EXTERNAL(34) STACK=0000H
106 0000H 1 ERRORPRINTED . . . BYTE EXTERNAL(98) 253
106 0000H 2 ERRORS . . . . . . WORD EXTERNAL(88)
106 0000H 2 ESCIP. . . . . . . WORD EXTERNAL(60)
106 0000H 1 ESPEC. . . . . . . BYTE EXTERNAL(71)
109 EX . . . . . . . . LITERALLY 289 291
315 0EC0H 1 EXITVALUE. . . . . BYTE 336 339 343 376 409 415 426 428
2 FALSE. . . . . . . LITERALLY 336 339 371 376 406 409 415
426
11 0000H 1 FCB. . . . . . . . BYTE ARRAY(1) EXTERNAL(2) 345 347 353 354
355 356 357 359
12 0000H 1 FCB16. . . . . . . BYTE ARRAY(1) EXTERNAL(3) 372 374
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 13
38 0000H 2 FCBADDRESS . . . . WORD PARAMETER 39
50 0000H 2 FCBADDRESS . . . . WORD PARAMETER 51
47 0000H 2 FCBADDRESS . . . . WORD PARAMETER 48
44 0000H 2 FCBADDRESS . . . . WORD PARAMETER 45
41 0000H 2 FCBADDRESS . . . . WORD PARAMETER 42
35 0000H 2 FCBADDRESS . . . . WORD PARAMETER 36
32 0000H 2 FCBADDRESS . . . . WORD PARAMETER 33
72 0000H 2 FCBADR . . . . . . WORD PARAMETER 73
236 0001H 33 FCBBLOCK . . . . . BYTE ARRAY(33) MEMBER(X) 239
215 0001H 33 FCBBLOCK . . . . . BYTE ARRAY(33) MEMBER(X) 220 221
200 0001H 33 FCBBLOCK . . . . . BYTE ARRAY(33) MEMBER(X) 205 209
181 0001H 33 FCBBLOCK . . . . . BYTE ARRAY(33) MEMBER(X)
170 0001H 33 FCBBLOCK . . . . . BYTE ARRAY(33) MEMBER(X) 175
140 0001H 33 FCBBLOCK . . . . . BYTE ARRAY(33) MEMBER(X) 148
117 0001H 33 FCBBLOCK . . . . . BYTE ARRAY(33) MEMBER(X) 118
109 0001H 33 FCBBLOCK . . . . . BYTE ARRAY(33) MEMBER(SYMBOLFILE) 356
109 0001H 33 FCBBLOCK . . . . . BYTE ARRAY(33) MEMBER(PRINTFILE) 355
109 0001H 33 FCBBLOCK . . . . . BYTE ARRAY(33) MEMBER(HEXFILE) 354
109 0001H 33 FCBBLOCK . . . . . BYTE ARRAY(33) MEMBER(INCLUDEFILE) 312
109 0001H 33 FCBBLOCK . . . . . BYTE ARRAY(33) MEMBER(SOURCEFILE) 287 289
291 292 353 359 363 368
226 0001H 33 FCBBLOCK . . . . . BYTE ARRAY(33) MEMBER(X) 231
110 0006H 2 FCBPT. . . . . . . WORD PARAMETER AUTOMATIC 111 112 113 114
1 0000H FILE . . . . . . . PROCEDURE STACK=0000H
72 0000H FILEABORT. . . . . PROCEDURE EXTERNAL(27) STACK=0000H 156 176
212 222 232
3 FILEISTRUCTURE . . LITERALLY 109 140 200 236
3 FILEOSTRUCTURE . . LITERALLY 109 117 170 181 215 226
314 03E1H 512 FILESETUP. . . . . PROCEDURE BYTE PUBLIC STACK=001AH
75 0000H FILL . . . . . . . PROCEDURE EXTERNAL(28) STACK=0000H 112 113
361
308 0006H 2 FILNAM . . . . . . WORD PARAMETER AUTOMATIC 309 312
308 0004H 2 FILTYP . . . . . . WORD PARAMETER AUTOMATIC 309 310
106 0000H 2 FIRSTMACROPTR. . . WORD EXTERNAL(99)
315 0EC1H 1 FLAG . . . . . . . BYTE 371 381 384
169 011DH 76 FLUSHBUFFER. . . . PROCEDURE STACK=000EH 191 230
109 FN . . . . . . . . LITERALLY 113 312 353 354 355 356 363
2 FOREVER. . . . . . LITERALLY
2 FORMFEED . . . . . LITERALLY
109 FT . . . . . . . . LITERALLY 114 357 359 368
106 0000H 1 FULLSYMBTAB. . . . BYTE EXTERNAL(101)
8 0000H 1 FUNC . . . . . . . BYTE PARAMETER 9
5 0000H 1 FUNC . . . . . . . BYTE PARAMETER 6
328 060CH 68 GETDSK . . . . . . PROCEDURE STACK=0008H 390 392 394 396
107 0000H GLOBALINIT . . . . PROCEDURE EXTERNAL(114) STACK=0000H
106 0000H 5 HELP . . . . . . . BYTE ARRAY(5) EXTERNAL(109)
96 0000H HEX1OUT. . . . . . PROCEDURE EXTERNAL(35) STACK=0000H
99 0000H HEX2OUT. . . . . . PROCEDURE EXTERNAL(36) STACK=0000H
109 0003H 3 HEXDEFAULT . . . . BYTE ARRAY(3) DATA 350
109 0848H 548 HEXFILE. . . . . . STRUCTURE 244 275 300 350 354 392
315 0EBDH 1 I. . . . . . . . . BYTE 362 363 364 366 367 368
181 0EB8H 2 I. . . . . . . . . WORD 188 189 192 194 195
170 0EB6H 2 I. . . . . . . . . WORD 172 173 174 177
140 0EB4H 2 I. . . . . . . . . WORD 141 142 144 146 147 152 153 160
163 165 166
106 0000H 1 I. . . . . . . . . BYTE EXTERNAL(110)
308 03BDH 36 IFILESETUP . . . . PROCEDURE PUBLIC STACK=0020H
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 14
106 0000H 1 IFLEVEL. . . . . . BYTE EXTERNAL(103)
106 0000H 1 IFLIST . . . . . . BYTE EXTERNAL(74)
139 008BH 146 INBYTE . . . . . . PROCEDURE BYTE STACK=000EH 263 266
106 0000H 1 INCLUDEDEFAULT . . BYTE EXTERNAL(112) 423
109 0424H 1060 INCLUDEFILE. . . . STRUCTURE 266 272 297 310 311 312
106 0000H 1 INCLUDEON. . . . . BYTE EXTERNAL(102)
3 INDEXREGBIT. . . . LITERALLY
3 INDEXREGCOUNT. . . LITERALLY
8 0000H 2 INFO . . . . . . . WORD PARAMETER 9
5 0000H 2 INFO . . . . . . . WORD PARAMETER 6
265 0319H 12 ININCLUDEBYTE. . . PROCEDURE BYTE PUBLIC STACK=0012H
2 INIT . . . . . . . LITERALLY
105 0000H 1 INITIALS . . . . . BYTE ARRAY(1) EXTERNAL(40)
235 029BH 35 INPUTCLOSE . . . . PROCEDURE STACK=000EH 284 297
262 030DH 12 INSOURCEBYTE . . . PROCEDURE BYTE PUBLIC STACK=0012H
106 0000H 1 INTELHEXON . . . . BYTE EXTERNAL(96) 401 406
53 0000H INTERROGATEDISK. . PROCEDURE BYTE EXTERNAL(20) STACK=0000H 344
3 IREGBIT. . . . . . LITERALLY
3 IREGCOUNT. . . . . LITERALLY
LENGTH . . . . . . BUILTIN 142 146 153 189 201 288 361
106 0000H 2 LENGTH . . . . . . WORD MEMBER(OPERANDS)
106 0000H 2 LENGTH . . . . . . WORD MEMBER(CURRENTSYMBOL)
81 0000H LETTER . . . . . . PROCEDURE BYTE EXTERNAL(30) STACK=0000H 331
2 LF . . . . . . . . LITERALLY
2 LIT. . . . . . . . LITERALLY 2 3 4 109
LOW. . . . . . . . BUILTIN 203
109 0006H 3 LSTDEFAULT . . . . BYTE ARRAY(3) DATA 351
106 0000H 2 MACROPTR . . . . . WORD EXTERNAL(100)
105 0000H 1 MAKEERRTEXT. . . . BYTE ARRAY(1) EXTERNAL(49) 222
106 0000H 1 MAXCOL . . . . . . BYTE EXTERNAL(75)
5 0000H MON1 . . . . . . . PROCEDURE EXTERNAL(0) STACK=0000H
8 0000H MON2 . . . . . . . PROCEDURE BYTE EXTERNAL(1) STACK=0000H
96 0000H 1 N. . . . . . . . . BYTE PARAMETER 97
102 0000H 2 N. . . . . . . . . WORD PARAMETER 103
99 0000H 2 N. . . . . . . . . WORD PARAMETER 100
93 0000H 1 N. . . . . . . . . BYTE PARAMETER 94
75 0000H 1 N. . . . . . . . . BYTE PARAMETER 76
66 0000H 1 N. . . . . . . . . BYTE PARAMETER 67
63 0000H 2 N. . . . . . . . . WORD PARAMETER 64
106 0000H 1 NEXTCH . . . . . . BYTE EXTERNAL(90)
316 05E1H 43 NEXTCH . . . . . . PROCEDURE BYTE STACK=0002H 330 379 387
399
105 0000H 1 NO . . . . . . . . BYTE EXTERNAL(39)
106 0000H 1 NOERROR. . . . . . BYTE EXTERNAL(97)
315 0EBEH 1 NOLEFT . . . . . . BYTE 317 320 340 369 379 386 410 416
106 0000H 1 NOOPER . . . . . . BYTE EXTERNAL(106)
3 NOOVERCOUNT. . . . LITERALLY
3 NOOVERRIDEBIT. . . LITERALLY
109 NR . . . . . . . . LITERALLY 287
4 NULL . . . . . . . LITERALLY 123
109 NULLTYPE . . . . . LITERALLY 124
106 0006H 2 OFFSET . . . . . . WORD MEMBER(OPERANDS)
106 0006H 2 OFFSET . . . . . . WORD MEMBER(CURRENTSYMBOL)
105 0000H 1 OPENERRTEXT. . . . BYTE ARRAY(1) EXTERNAL(46) 212
32 0000H OPENFILE . . . . . PROCEDURE BYTE EXTERNAL(13) STACK=0000H 209
274 033DH 12 OPENHEX. . . . . . PROCEDURE PUBLIC STACK=0012H
271 0331H 12 OPENINCLUDE. . . . PROCEDURE PUBLIC STACK=0012H
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 15
199 01CCH 71 OPENINPUT. . . . . PROCEDURE STACK=000EH 269 272
214 0213H 72 OPENOUTPUT . . . . PROCEDURE STACK=000EH 275 278 281
277 0349H 12 OPENPRINT. . . . . PROCEDURE PUBLIC STACK=0012H
35 0000H OPENROFILE . . . . PROCEDURE BYTE EXTERNAL(14) STACK=0000H 205
268 0325H 12 OPENSOURCE . . . . PROCEDURE PUBLIC STACK=0012H 293
280 0355H 12 OPENSYMBOL . . . . PROCEDURE PUBLIC STACK=0012H
106 0000H 36 OPERANDS . . . . . STRUCTURE ARRAY(4) EXTERNAL(107)
3 OPERANDSTRUC . . . LITERALLY 106
180 0169H 99 OUTBYTE. . . . . . PROCEDURE STACK=0016H 229 244 255 260
242 02BEH 17 OUTHEXBYTE . . . . PROCEDURE PUBLIC STACK=001CH
246 02CFH 45 OUTPRINTBYTE . . . PROCEDURE PUBLIC STACK=001CH
225 025BH 64 OUTPUTCLOSE. . . . PROCEDURE STACK=001CH 300 303 306
258 02FCH 17 OUTSYMBOLBYTE. . . PROCEDURE PUBLIC STACK=001CH
69 0000H OUTTEXT. . . . . . PROCEDURE EXTERNAL(26) STACK=0000H
328 0004H 2 P. . . . . . . . . WORD PARAMETER AUTOMATIC 329 333 334 335
106 0000H 1 PAGESIZE . . . . . BYTE EXTERNAL(81)
105 0000H 1 PAGETEXT . . . . . BYTE ARRAY(1) EXTERNAL(41)
105 0000H 1 PARERRTEXT . . . . BYTE ARRAY(1) EXTERNAL(45)
106 0000H 1 PASS . . . . . . . BYTE EXTERNAL(55)
105 0000H 1 PASS0TEXT. . . . . BYTE ARRAY(1) EXTERNAL(53)
105 0000H 1 PASS1TEXT. . . . . BYTE ARRAY(1) EXTERNAL(54)
116 0006H 2 POINT. . . . . . . WORD PARAMETER AUTOMATIC 117 118 119
106 0000H 240 PREFIX . . . . . . BYTE ARRAY(240) EXTERNAL(85)
106 0000H 1 PREFIXPTR. . . . . BYTE EXTERNAL(86)
106 0000H 1 PRINTDEVICE. . . . BYTE EXTERNAL(78) 421
4 PRINTER. . . . . . LITERALLY 127
109 PRINTERTYPE. . . . LITERALLY 128
109 0A6CH 548 PRINTFILE. . . . . STRUCTURE 248 255 278 303 351 355 394
421
106 0000H 1 PRINTON. . . . . . BYTE EXTERNAL(72)
106 0000H 1 PRINTSWITCHOFF . . BYTE EXTERNAL(73)
2 PROC . . . . . . . LITERALLY 60 63 84 87 96 99 102
110 121 139 180 199 214 225 242 246 258
262 265 268 271 274 277 280 283 286 296
299 302 305 308 314 316
75 0000H 2 PT . . . . . . . . WORD PARAMETER 76
235 0004H 2 PTR. . . . . . . . WORD PARAMETER AUTOMATIC 236 237 238 239
225 0004H 2 PTR. . . . . . . . WORD PARAMETER AUTOMATIC 226 227 229 230
231 232
214 0004H 2 PTR. . . . . . . . WORD PARAMETER AUTOMATIC 215 216 218 219
220 221 222
199 0004H 2 PTR. . . . . . . . WORD PARAMETER AUTOMATIC 200 201 202 205
209 212
180 0004H 2 PTR. . . . . . . . WORD PARAMETER AUTOMATIC 181 182 188 191
194 195
169 0004H 2 PTR. . . . . . . . WORD PARAMETER AUTOMATIC 170 171 173 174
175 176
139 0004H 2 PTR. . . . . . . . WORD PARAMETER AUTOMATIC 140 141 145 147
148 152 156 165 166
17 0000H READCONSOLE. . . . PROCEDURE BYTE EXTERNAL(7) STACK=0000H
44 0000H READRECORD . . . . PROCEDURE BYTE EXTERNAL(17) STACK=0000H 148
2 REENT. . . . . . . LITERALLY
286 036DH 32 REWINDSOURCE . . . PROCEDURE PUBLIC STACK=0016H
93 0000H 2 S. . . . . . . . . WORD PARAMETER 94
66 0000H 2 S. . . . . . . . . WORD PARAMETER 67
109 S2 . . . . . . . . LITERALLY 292
106 0000H 12 SAVESOURCE . . . . BYTE ARRAY(12) EXTERNAL(77)
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 16
3 SEGMBIT. . . . . . LITERALLY
3 SEGMCOUNT. . . . . LITERALLY
106 0004H 2 SEGMENT. . . . . . WORD MEMBER(OPERANDS)
106 0004H 2 SEGMENT. . . . . . WORD MEMBER(CURRENTSYMBOL)
3 SEGTYPEBIT . . . . LITERALLY
3 SEGTYPECOUNT . . . LITERALLY
29 0000H SELECTDISK . . . . PROCEDURE EXTERNAL(12) STACK=0000H 136 347
55 0000H SETDMAADDRESS. . . PROCEDURE EXTERNAL(21) STACK=0000H 147 174
238
106 0003H 1 SFLAG. . . . . . . BYTE MEMBER(OPERANDS)
106 0003H 1 SFLAG. . . . . . . BYTE MEMBER(CURRENTSYMBOL)
106 0000H 1 SIMFORM. . . . . . BYTE EXTERNAL(82)
106 0000H 80 SOURCEBUF. . . . . BYTE ARRAY(80) EXTERNAL(83)
109 0000H 1060 SOURCEFILE . . . . STRUCTURE 263 269 284 287 288 289 291
292 349 353 359 363 368 390 423 424
106 0000H 12 SOURCENAME . . . . BYTE ARRAY(12) EXTERNAL(76) 361 363 366
368
106 0000H 1 SOURCEPTR. . . . . BYTE EXTERNAL(84)
2 SPACE. . . . . . . LITERALLY 357 361 363 372 387
106 0000H 2 SSCIP. . . . . . . WORD EXTERNAL(62)
106 0000H 1 SSPEC. . . . . . . BYTE EXTERNAL(70)
2 STRUC. . . . . . . LITERALLY 106 109 117 140 170 181 200
215 226 236
106 0002H 1 STYPE. . . . . . . BYTE MEMBER(OPERANDS)
106 0002H 1 STYPE. . . . . . . BYTE MEMBER(CURRENTSYMBOL)
105 0000H 1 SYMBFULLERRTEXT. . BYTE ARRAY(1) EXTERNAL(51)
106 0000H 1 SYMBOLDEVICE . . . BYTE EXTERNAL(79) 422
109 0C90H 548 SYMBOLFILE . . . . STRUCTURE 260 281 306 352 356 396 422
3 SYMBOLHEAD . . . . LITERALLY
3 SYMBOLSTRUC. . . . LITERALLY 106
106 0000H 2 SYMBTABADR . . . . WORD EXTERNAL(105)
109 0009H 3 SYMDEFAULT . . . . BYTE ARRAY(3) DATA 352
15 0000H SYSTEMRESET. . . . PROCEDURE EXTERNAL(6) STACK=0000H
69 0000H 2 T. . . . . . . . . WORD PARAMETER 70
2 TAB. . . . . . . . LITERALLY
13 0000H 1 TBUFF. . . . . . . BYTE ARRAY(1) EXTERNAL(4) 319 369
72 0000H 2 TEXTADR. . . . . . WORD PARAMETER 73
2 THENDO . . . . . . LITERALLY 133 142 148 150 189 203 216
227 248 289 317 331 345 357 372 374 384
387 397 399 404 424
106 0000H 30 TITLE. . . . . . . BYTE ARRAY(30) EXTERNAL(80)
106 0000H 4 TOKEN. . . . . . . STRUCTURE EXTERNAL(89)
2 TRUE . . . . . . . LITERALLY 343 381 401
106 0000H 1 TYPE . . . . . . . BYTE MEMBER(TOKEN)
3 TYPEBIT. . . . . . LITERALLY
60 0000H TYPECALC . . . . . PROCEDURE BYTE EXTERNAL(23) STACK=0000H
3 TYPECOUNT. . . . . LITERALLY
90 0000H UPPER. . . . . . . PROCEDURE BYTE EXTERNAL(33) STACK=0000H 330
387 399
105 0000H 1 USBREAKTEXT. . . . BYTE ARRAY(1) EXTERNAL(52)
105 0000H 1 USEFACTOR. . . . . BYTE ARRAY(1) EXTERNAL(43)
60 0000H 2 VAL. . . . . . . . WORD PARAMETER 61
4 VALIDDISK. . . . . LITERALLY 334
106 0002H 2 VALUE. . . . . . . WORD MEMBER(TOKEN)
27 0000H VERSION. . . . . . PROCEDURE WORD EXTERNAL(11) STACK=0000H 203
63 0000H WRDTEST. . . . . . PROCEDURE BYTE EXTERNAL(24) STACK=0000H
19 0000H WRITECONSOLE . . . PROCEDURE EXTERNAL(8) STACK=0000H 185 250
PL/M-86 COMPILER FILE AND I/O MODULE 10/5/81 PAGE 17
254
22 0000H WRITELIST. . . . . PROCEDURE EXTERNAL(9) STACK=0000H 186
47 0000H WRITERECORD. . . . PROCEDURE BYTE EXTERNAL(18) STACK=0000H 175
236 0000H 1060 X. . . . . . . . . STRUCTURE BASED(PTR) 237 238 239
226 0000H 548 X. . . . . . . . . STRUCTURE BASED(PTR) 227 229 231 232
215 0000H 548 X. . . . . . . . . STRUCTURE BASED(PTR) 216 218 219 220 221
222
200 0000H 1060 X. . . . . . . . . STRUCTURE BASED(PTR) 201 202 205 209 212
181 0000H 548 X. . . . . . . . . STRUCTURE BASED(PTR) 182 188 189 194 195
170 0000H 548 X. . . . . . . . . STRUCTURE BASED(PTR) 171 173 174 175 176
140 0000H 1060 X. . . . . . . . . STRUCTURE BASED(PTR) 141 142 145 146 147
148 152 153 156 165 166
117 0000H 548 X. . . . . . . . . STRUCTURE BASED(POINT) 118 119
105 0000H 1 YES. . . . . . . . BYTE EXTERNAL(38)
MODULE INFORMATION:
CODE AREA SIZE = 0650H 1616D
CONSTANT AREA SIZE = 000CH 12D
VARIABLE AREA SIZE = 0EC2H 3778D
MAXIMUM STACK SIZE = 0020H 32D
947 LINES READ
0 PROGRAM ERROR(S)
END OF PL/M-86 COMPILATION