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

650 lines
34 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 ASM86 MAIN PROGRAM 10/5/81 PAGE 1
ISIS-II PL/M-86 V2.0 COMPILATION OF MODULE MAINP
OBJECT MODULE PLACED IN MAINP.OBJ
COMPILER INVOKED BY: :F0: MAINP.PLM DEBUG OPTIMIZE(2) DATE(10/5/81) PAGEWIDTH(100) XREF
$title ('ASM86 MAIN PROGRAM')
1 mainp:
do;
/*
This is the main program of the CP/M 8086
assembler. This module activates the i/o
modules and goes through the source text
in 3 passes. The module then for each source
line calls the external subroutine DECODELINE
to perform assembly of each line;
*/
/*
modified 3/25/81 R. Silberstein
modified 3/28/81 R. Silberstein
modified 3/30/81 R. Silberstein
modified 4/7/81 R. Silberstein
modified 4/20/81 R. Silberstein
modified 6/16/81 R. Silberstein
modified 7/24/81 R. Silberstein
modified 7/27/81 R. Silberstein
modified 8/21/81 R. Silberstein
*/
$include (:f1:macro.lit)
= $nolist
$include (:f1:struc.lit)
= $nolist
$include (:f1:equals.lit)
= $nolist
$include (:f1:dev.lit)
= $nolist
$include (:f1:ermod.lit)
= $nolist
$include (:f1:subr2.ext)
= $nolist
$include (:f1:io.ext)
= $nolist
$include (:f1:files.ext)
= $nolist
$include (:f1:outp.ext)
= $nolist
$include (:f1:scan.ext)
= $nolist
$include (:f1:print.ext)
= $nolist
$include (:f1:symb.ext)
= $nolist
PL/M-86 COMPILER ASM86 MAIN PROGRAM 10/5/81 PAGE 2
$include (:f1:ermod.ext)
= $nolist
$include (:f1:mglob.ext)
= $nolist
$include (:f1:text.ext)
= $nolist
$include (:f1:dline.ext)
= $nolist
218 1 DECLARE ASM86 LABEL PUBLIC;
219 1 closefiles: procedure;
220 2 call close$source;
221 2 call close$print;
222 2 call close$symbol;
223 2 call close$hex;
224 2 end closefiles;
225 1 open$output$files: procedure;
226 2 CALL OPENPRINT;
227 2 CALL OPENHEX;
228 2 CALL OPENSYMBOL;
229 2 end open$output$files;
230 1 userbreak: proc byte; /* test if keyboard break from user */
231 2 if not constat then return false; /* test console status */
233 2 if readconsole then; /* skip first break key */
235 2 do forever;
236 3 call outtext(.usbreaktext); /* USER BREAK. OK (Y/N)? */
237 3 i=upper(readconsole);
238 3 call crlf;
239 3 if i = yes then return true;
241 3 if i = no then return false;
end$forever;
244 2 end userbreak;
245 1 varinit: proc;
246 2 CALL FILL (0, .PRINT$ON-.CIP, .CIP);
247 2 errors=0;
248 2 printswitchoff,includeon=false;
249 2 IFLEVEL = 0;
250 2 IFLIST = TRUE;
251 2 csegtype=rcs;
252 2 end varinit;
253 1 pass0init: proc; /* initialize pass 0 */
254 2 simform=false;
255 2 maxcol=119;
256 2 if printdevice=console then maxcol=79;
258 2 call symbinit; /* initialize symbol table */
259 2 print$on=false;
260 2 call varinit;
261 2 end pass0init;
262 1 pass1init: proc; /* initialize for pass 1 */
263 2 call varinit;
264 2 end pass1init;
PL/M-86 COMPILER ASM86 MAIN PROGRAM 10/5/81 PAGE 3
265 1 pass2init: proc; /* initialize for pass 2 (last pass) */
266 2 print$on=true;
267 2 call varinit;
268 2 call emitinit;
269 2 end pass2init;
270 1 pass0terminate: proc; /* terminate pass 0 */
271 2 call outtext(.pass0text); /* End of pass 0 */
272 2 end pass0terminate;
273 1 pass1terminate: proc; /* terminate pass 1 */
274 2 print$on=false; /* dummy */
275 2 call outtext(.pass1text); /* End of pass 1 */
276 2 end pass1terminate;
277 1 pass2terminate: proc; /* terminate pass 2 (last pass) */
278 2 DECLARE USEFACT BYTE;
279 2 USEFACT = (FREEPT-.MEMORY) / ((ENDOFSYMBTAB-.MEMORY) / 100 + 1);
280 2 errorprinted=false;
281 2 call emitterminate; /* terminate hex output module */
282 2 call symbterminate; /* print symbols */
283 2 if printdevice <> console then call printterminate (USEFACT);
285 2 CALL CLOSEFILES;
286 2 call outtext(.endtext); /* END OF ASSEMBLY... */
287 2 call decout(errors,.help(0)); /* print no of errors */
288 2 call outtext(.help(2));
289 2 CALL OUTTEXT (.USEFACTOR);
290 2 CALL DECOUT (USEFACT, .HELP(0));
291 2 CALL OUTTEXT (.HELP(3));
292 2 CALL WRITECONSOLE (25H); /* % */
293 2 CALL CRLF;
294 2 end pass2terminate;
295 1 include$close: proc (flag);
296 2 declare flag byte;
297 2 if eofset and include$on then$do
299 3 call close$include;
300 3 include$on,eofset=false;
301 3 if flag then$do
303 4 call scan; /* skip EOF */
304 4 call scan; /* prepare for next source line */
305 4 end$if;
end$if;
307 2 end include$close;
308 1 ASM86:
call globalinit; /* initialize some globals */
309 1 call outtext(.asm86text); /* CP/M 8086 ASSEMBLER.... */
310 1 if not filesetup then$do
312 2 call outtext(.parerrtext); /* PARAMETER ERROR */
313 2 CALL SYSTEMRESET;
314 2 end$if;
PL/M-86 COMPILER ASM86 MAIN PROGRAM 10/5/81 PAGE 4
315 1 CALL OPENSOURCE;
316 1 CALL OPENOUTPUTFILES;
317 1 pass=0ffh;
318 1 do while (pass:=pass+1) < 3;
319 2 do case pass;
320 3 call pass0init; /* pass 0 */
321 3 call pass1init; /* pass 1 */
322 3 call pass2init; /* pass 2 */
323 3 end$case;
324 2 call scaninit;
325 2 call scan;
326 2 do while not eofset;
327 3 if userbreak then$do
329 4 eofset=true;
330 4 pass=3;
331 4 else$do
333 4 errorprinted=false;
334 4 call decodeline;
335 4 call includeclose(false); /* close include file if necessary */
336 4 call scan;
337 4 call includeclose(true); /* close include file if necessary */
338 4 end$if;
339 3 end$while;
340 2 do case pass;
341 3 call pass0terminate; /* pass 0 */
342 3 call pass1terminate; /* pass 1 */
343 3 call pass2terminate; /* pass 2 */
344 3 do; end; /* do nothing if userbreak */
346 3 end$case;
347 2 end$while;
348 1 call system$reset;
349 1 end$module mainp;
PL/M-86 COMPILER ASM86 MAIN PROGRAM 10/5/81 PAGE 5
CROSS-REFERENCE LISTING
-----------------------
DEFN ADDR SIZE NAME, ATTRIBUTES, AND REFERENCES
----- ------ ----- --------------------------------
2 ADDR . . . . . . . LITERALLY 12 18 36 39 42 45 138
179 180 186 189 192 195 198 201 204 207
212
26 0000H ALPHANUMERIC . . . PROCEDURE BYTE EXTERNAL(5) STACK=0000H
29 0000H ASCIICHAR. . . . . PROCEDURE BYTE EXTERNAL(6) STACK=0000H
206 0000H 2 ASCIIPTR . . . . . WORD PARAMETER 207
218 0010H ASM86. . . . . . . LABEL PUBLIC 308
215 0000H 1 ASM86TEXT. . . . . BYTE ARRAY(1) EXTERNAL(106) 309
3 BASEREGBIT . . . . LITERALLY
3 BASEREGCOUNT . . . LITERALLY
3 BREGBIT. . . . . . LITERALLY
3 BREGCOUNT. . . . . LITERALLY
5 BYT. . . . . . . . LITERALLY
23 0000H 1 CH . . . . . . . . BYTE PARAMETER 24
163 0000H 1 CH . . . . . . . . BYTE PARAMETER 164
102 0000H 1 CH . . . . . . . . BYTE PARAMETER 103
146 0000H 1 CH . . . . . . . . BYTE PARAMETER 147
26 0000H 1 CH . . . . . . . . BYTE PARAMETER 27
17 0000H 1 CH . . . . . . . . BYTE PARAMETER 18
29 0000H 1 CH . . . . . . . . BYTE PARAMETER 30
20 0000H 1 CH . . . . . . . . BYTE PARAMETER 21
105 0000H 1 CH . . . . . . . . BYTE PARAMETER 106
32 0000H 1 CH . . . . . . . . BYTE PARAMETER 33
108 0000H 1 CH . . . . . . . . BYTE PARAMETER 109
64 0000H 1 CHAR . . . . . . . BYTE PARAMETER 65
61 0000H 1 CHAR . . . . . . . BYTE PARAMETER 62
212 0000H 2 CIP. . . . . . . . WORD EXTERNAL(83) 246
215 0000H 1 CLOSEERRTEXT . . . BYTE ARRAY(1) EXTERNAL(112)
80 0000H CLOSEFILE. . . . . PROCEDURE BYTE EXTERNAL(27) STACK=0000H
219 00CDH 17 CLOSEFILES . . . . PROCEDURE STACK=0004H 285
131 0000H CLOSEHEX . . . . . PROCEDURE EXTERNAL(48) STACK=0000H 223
129 0000H CLOSEINCLUDE . . . PROCEDURE EXTERNAL(47) STACK=0000H 299
133 0000H CLOSEPRINT . . . . PROCEDURE EXTERNAL(49) STACK=0000H 221
125 0000H CLOSESOURCE. . . . PROCEDURE EXTERNAL(45) STACK=0000H 220
135 0000H CLOSESYMBOL. . . . PROCEDURE EXTERNAL(50) STACK=0000H 222
4 CODE . . . . . . . LITERALLY
10 CODEMACROERR . . . LITERALLY
3 CODEMACROHEAD. . . LITERALLY
9 CONSOLE. . . . . . LITERALLY 256 283
67 0000H CONSTAT. . . . . . PROCEDURE BYTE EXTERNAL(22) STACK=0000H 231
2 CR . . . . . . . . LITERALLY
92 0000H CREATEFILE . . . . PROCEDURE BYTE EXTERNAL(31) STACK=0000H
100 0000H CRLF . . . . . . . PROCEDURE EXTERNAL(34) STACK=0000H 238 293
212 0000H 1 CSEGTYPE . . . . . BYTE EXTERNAL(84) 251
44 0000H 2 D. . . . . . . . . WORD PARAMETER 45
41 0000H 2 D. . . . . . . . . WORD PARAMETER 42
35 0000H 2 D. . . . . . . . . WORD PARAMETER 36
38 0000H 2 D. . . . . . . . . WORD PARAMETER 39
2 DCL. . . . . . . . LITERALLY
PL/M-86 COMPILER ASM86 MAIN PROGRAM 10/5/81 PAGE 6
216 0000H DECODELINE . . . . PROCEDURE EXTERNAL(117) STACK=0000H 334
44 0000H DECOUT . . . . . . PROCEDURE EXTERNAL(11) STACK=0000H 287 290
4 DELETEDSYMB. . . . LITERALLY
83 0000H DELETEFILE . . . . PROCEDURE EXTERNAL(28) STACK=0000H
194 0000H 2 DEST . . . . . . . WORD PARAMETER 195
137 0000H 1 DEV. . . . . . . . BYTE PARAMETER 138
20 0000H DIGIT. . . . . . . PROCEDURE BYTE EXTERNAL(3) STACK=0000H
71 0000H 1 DISKNUMBER . . . . BYTE PARAMETER 72
215 0000H 1 DISKREADERRTEXT. . BYTE ARRAY(1) EXTERNAL(109)
215 0000H 1 DISKWRITEERRTXT. . BYTE ARRAY(1) EXTERNAL(110)
97 0000H 2 DMAADDRESS . . . . WORD PARAMETER 98
4 DOUBLEDEFINED. . . LITERALLY
10 DOUBLEDEFLAB . . . LITERALLY
10 DOUBLEDEFSYMB. . . LITERALLY
10 DOUBLEDEFVAR . . . LITERALLY
5 DWRD . . . . . . . LITERALLY
177 0000H EJECT. . . . . . . PROCEDURE EXTERNAL(68) STACK=0000H
2 ELSEDO . . . . . . LITERALLY
146 0000H EMITCODEBYTE . . . PROCEDURE EXTERNAL(55) STACK=0000H
142 0000H EMITINIT . . . . . PROCEDURE EXTERNAL(53) STACK=0000H 268
144 0000H EMITTERMINATE. . . PROCEDURE EXTERNAL(54) STACK=0000H 281
161 0000H EMPTYLINE. . . . . PROCEDURE BYTE EXTERNAL(61) STACK=0000H
56 0000H 2 ENDBUF . . . . . . WORD EXTERNAL(17)
2 ENDCASE. . . . . . LITERALLY
2 ENDDO. . . . . . . LITERALLY
2 ENDFOREVER . . . . LITERALLY 242
2 ENDIF. . . . . . . LITERALLY 305
2 ENDMODULE. . . . . LITERALLY
2 ENDOFFILE. . . . . LITERALLY
10 ENDOFLINEERR . . . LITERALLY
180 0000H 2 ENDOFSYMBTAB . . . WORD EXTERNAL(70) 279
2 ENDPROC. . . . . . LITERALLY
215 0000H 1 ENDTEXT. . . . . . BYTE ARRAY(1) EXTERNAL(104) 286
2 ENDWHILE . . . . . LITERALLY
197 0000H ENTERATTRIBUTES. . PROCEDURE EXTERNAL(77) STACK=0000H
212 0000H 1 EOFSET . . . . . . BYTE EXTERNAL(92) 297 300 326 329
35 0000H EQUAL. . . . . . . PROCEDURE BYTE EXTERNAL(8) STACK=0000H
209 0000H ERRMSG . . . . . . PROCEDURE EXTERNAL(81) STACK=0000H
209 0000H 1 ERRNO. . . . . . . BYTE PARAMETER 210
4 ERROR. . . . . . . LITERALLY
212 0000H 1 ERRORPRINTED . . . BYTE EXTERNAL(93) 280 333
212 0000H 2 ERRORS . . . . . . WORD EXTERNAL(91) 247 287
2 FALSE. . . . . . . LITERALLY 232 242 248 254 259 274 280
300 333 335
53 0000H 1 FCB. . . . . . . . BYTE ARRAY(1) EXTERNAL(14)
54 0000H 1 FCB16. . . . . . . BYTE ARRAY(1) EXTERNAL(15)
83 0000H 2 FCBADDRESS . . . . WORD PARAMETER 84
92 0000H 2 FCBADDRESS . . . . WORD PARAMETER 93
89 0000H 2 FCBADDRESS . . . . WORD PARAMETER 90
86 0000H 2 FCBADDRESS . . . . WORD PARAMETER 87
80 0000H 2 FCBADDRESS . . . . WORD PARAMETER 81
77 0000H 2 FCBADDRESS . . . . WORD PARAMETER 78
74 0000H 2 FCBADDRESS . . . . WORD PARAMETER 75
14 0000H 2 FCBADR . . . . . . WORD PARAMETER 15
14 0000H FILEABORT. . . . . PROCEDURE EXTERNAL(1) STACK=0000H
3 FILEISTRUCTURE . . LITERALLY
3 FILEOSTRUCTURE . . LITERALLY
PL/M-86 COMPILER ASM86 MAIN PROGRAM 10/5/81 PAGE 7
140 0000H FILESETUP. . . . . PROCEDURE BYTE EXTERNAL(52) STACK=0000H 310
10 FILESYNTERR. . . . LITERALLY
17 0000H FILL . . . . . . . PROCEDURE EXTERNAL(2) STACK=0000H 246
137 0000H 2 FILNAM . . . . . . WORD PARAMETER 138
137 0000H 2 FILTYP . . . . . . WORD PARAMETER 138
200 0000H FINDCODEMACRO. . . PROCEDURE BYTE EXTERNAL(78) STACK=0000H
191 0000H FINDSYMBOL . . . . PROCEDURE BYTE EXTERNAL(75) STACK=0000H
10 FIRSTITEM. . . . . LITERALLY
295 0004H 1 FLAG . . . . . . . BYTE PARAMETER AUTOMATIC 296 301
2 FOREVER. . . . . . LITERALLY 235
2 FORMFEED . . . . . LITERALLY
179 0000H 2 FREEPT . . . . . . WORD EXTERNAL(69) 279
212 0000H 1 FULLSYMBTAB. . . . BYTE EXTERNAL(94)
47 0000H 1 FUNC . . . . . . . BYTE PARAMETER 48
50 0000H 1 FUNC . . . . . . . BYTE PARAMETER 51
194 0000H GETATTRIBUTES. . . PROCEDURE EXTERNAL(76) STACK=0000H
213 0000H GLOBALINIT . . . . PROCEDURE EXTERNAL(99) STACK=0000H 308
212 0000H 5 HELP . . . . . . . BYTE ARRAY(5) EXTERNAL(97) 287 288 290
291
38 0000H HEX1OUT. . . . . . PROCEDURE EXTERNAL(9) STACK=0000H
41 0000H HEX2OUT. . . . . . PROCEDURE EXTERNAL(10) STACK=0000H
212 0000H 1 I. . . . . . . . . BYTE EXTERNAL(98) 237 239 241
4 IDENT. . . . . . . LITERALLY
137 0000H IFILESETUP . . . . PROCEDURE EXTERNAL(51) STACK=0000H
212 0000H 1 IFLEVEL. . . . . . BYTE EXTERNAL(96) 249
212 0000H 1 IFLIST . . . . . . BYTE EXTERNAL(87) 250
10 IFPARERR . . . . . LITERALLY
10 ILLEGALMACRO . . . LITERALLY
10 ILLEGALPSEUDO. . . LITERALLY
10 ILLEXPRELEM. . . . LITERALLY
10 ILLIOPER . . . . . LITERALLY
295 0232H 44 INCLUDECLOSE . . . PROCEDURE STACK=0006H 335 337
212 0000H 1 INCLUDEON. . . . . BYTE EXTERNAL(95) 248 297 300
3 INDEXREGBIT. . . . LITERALLY
3 INDEXREGCOUNT. . . LITERALLY
50 0000H 2 INFO . . . . . . . WORD PARAMETER 51
47 0000H 2 INFO . . . . . . . WORD PARAMETER 48
113 0000H ININCLUDEBYTE. . . PROCEDURE BYTE EXTERNAL(39) STACK=0000H
2 INIT . . . . . . . LITERALLY
215 0000H 1 INITIALS . . . . . BYTE ARRAY(1) EXTERNAL(102)
111 0000H INSOURCEBYTE . . . PROCEDURE BYTE EXTERNAL(38) STACK=0000H
10 INSTRERR . . . . . LITERALLY
95 0000H INTERROGATEDISK. . PROCEDURE BYTE EXTERNAL(32) STACK=0000H
3 IREGBIT. . . . . . LITERALLY
3 IREGCOUNT. . . . . LITERALLY
4 LAB. . . . . . . . LITERALLY
10 LABOUTOFRANGE. . . LITERALLY
8 LEFTBRACKET. . . . LITERALLY
23 0000H LETTER . . . . . . PROCEDURE BYTE EXTERNAL(4) STACK=0000H
2 LF . . . . . . . . LITERALLY
206 0000H 1 LG . . . . . . . . BYTE PARAMETER 207
203 0000H 1 LG . . . . . . . . BYTE PARAMETER 204
200 0000H 1 LG . . . . . . . . BYTE PARAMETER 201
191 0000H 1 LG . . . . . . . . BYTE PARAMETER 192
188 0000H 1 LG . . . . . . . . BYTE PARAMETER 189
185 0000H 1 LG . . . . . . . . BYTE PARAMETER 186
2 LIT. . . . . . . . LITERALLY 2 3 4 5 6 7 8
PL/M-86 COMPILER ASM86 MAIN PROGRAM 10/5/81 PAGE 8
9 10
188 0000H 2 MACDEFPT . . . . . WORD PARAMETER 189
1 0002H 203 MAINP. . . . . . . PROCEDURE STACK=0010H
215 0000H 1 MAKEERRTEXT. . . . BYTE ARRAY(1) EXTERNAL(111)
212 0000H 1 MAXCOL . . . . . . BYTE EXTERNAL(88) 255 257
0000H MEMORY . . . . . . BYTE ARRAY(0) 279
10 MISSIFERR. . . . . LITERALLY
10 MISSINGPSEUDO. . . LITERALLY
10 MISSINSTR. . . . . LITERALLY
10 MISSSEGMINFO . . . LITERALLY
10 MISSTYPEINFO . . . LITERALLY
47 0000H MON1 . . . . . . . PROCEDURE EXTERNAL(12) STACK=0000H
50 0000H MON2 . . . . . . . PROCEDURE BYTE EXTERNAL(13) STACK=0000H
35 0000H 1 N. . . . . . . . . BYTE PARAMETER 36
17 0000H 1 N. . . . . . . . . BYTE PARAMETER 18
44 0000H 2 N. . . . . . . . . WORD PARAMETER 45
41 0000H 2 N. . . . . . . . . WORD PARAMETER 42
38 0000H 1 N. . . . . . . . . BYTE PARAMETER 39
4 NEGLECTED. . . . . LITERALLY
10 NEGLECTERR . . . . LITERALLY
10 NESTEDIFERR. . . . LITERALLY
10 NESTEDINCLUDEERR . LITERALLY
203 0000H NEWCMBODY. . . . . PROCEDURE BYTE EXTERNAL(79) STACK=0000H
206 0000H NEWCMNAME. . . . . PROCEDURE BYTE EXTERNAL(80) STACK=0000H
188 0000H NEWMACRO . . . . . PROCEDURE BYTE EXTERNAL(74) STACK=0000H
185 0000H NEWSYMBOL. . . . . PROCEDURE BYTE EXTERNAL(73) STACK=0000H
5 NIL. . . . . . . . LITERALLY
215 0000H 1 NO . . . . . . . . BYTE EXTERNAL(101) 241
3 NOOVERCOUNT. . . . LITERALLY
3 NOOVERRIDEBIT. . . LITERALLY
9 NULL . . . . . . . LITERALLY
4 NUMBER . . . . . . LITERALLY
8 OAND . . . . . . . LITERALLY
8 OEQ. . . . . . . . LITERALLY
8 OGE. . . . . . . . LITERALLY
8 OGT. . . . . . . . LITERALLY
8 OLAST. . . . . . . LITERALLY
8 OLE. . . . . . . . LITERALLY
8 OLENGTH. . . . . . LITERALLY
8 OLT. . . . . . . . LITERALLY
8 OMOD . . . . . . . LITERALLY
8 ONE. . . . . . . . LITERALLY
8 ONOT . . . . . . . LITERALLY
8 OOFFSET. . . . . . LITERALLY
8 OOR. . . . . . . . LITERALLY
215 0000H 1 OPENERRTEXT. . . . BYTE ARRAY(1) EXTERNAL(108)
74 0000H OPENFILE . . . . . PROCEDURE BYTE EXTERNAL(25) STACK=0000H
119 0000H OPENHEX. . . . . . PROCEDURE EXTERNAL(42) STACK=0000H 227
117 0000H OPENINCLUDE. . . . PROCEDURE EXTERNAL(41) STACK=0000H
225 00DEH 14 OPENOUTPUTFILES. . PROCEDURE STACK=0004H 316
121 0000H OPENPRINT. . . . . PROCEDURE EXTERNAL(43) STACK=0000H 226
77 0000H OPENROFILE . . . . PROCEDURE BYTE EXTERNAL(26) STACK=0000H
115 0000H OPENSOURCE . . . . PROCEDURE EXTERNAL(40) STACK=0000H 315
123 0000H OPENSYMBOL . . . . PROCEDURE EXTERNAL(44) STACK=0000H 228
3 OPERANDSTRUC . . . LITERALLY
4 OPERATOR . . . . . LITERALLY
10 OPMISMATCH . . . . LITERALLY
PL/M-86 COMPILER ASM86 MAIN PROGRAM 10/5/81 PAGE 9
8 OPTR . . . . . . . LITERALLY
8 OSEG . . . . . . . LITERALLY
8 OSHL . . . . . . . LITERALLY
8 OSHORT . . . . . . LITERALLY
8 OSHR . . . . . . . LITERALLY
8 OTYPE. . . . . . . LITERALLY
102 0000H OUTHEXBYTE . . . . PROCEDURE EXTERNAL(35) STACK=0000H
105 0000H OUTPRINTBYTE . . . PROCEDURE EXTERNAL(36) STACK=0000H
108 0000H OUTSYMBOLBYTE. . . PROCEDURE EXTERNAL(37) STACK=0000H
11 0000H OUTTEXT. . . . . . PROCEDURE EXTERNAL(0) STACK=0000H 236 271
275 286 288 289 291 309 312
8 OXOR . . . . . . . LITERALLY
215 0000H 1 PAGETEXT . . . . . BYTE ARRAY(1) EXTERNAL(103)
215 0000H 1 PARERRTEXT . . . . BYTE ARRAY(1) EXTERNAL(107) 312
212 0000H 1 PASS . . . . . . . BYTE EXTERNAL(82) 317 318 319 330 340
253 015AH 38 PASS0INIT. . . . . PROCEDURE STACK=000EH 320
270 0198H 12 PASS0TERMINATE . . PROCEDURE STACK=0006H 341
215 0000H 1 PASS0TEXT. . . . . BYTE ARRAY(1) EXTERNAL(115) 271
262 0180H 8 PASS1INIT. . . . . PROCEDURE STACK=000EH 321
273 01A4H 17 PASS1TERMINATE . . PROCEDURE STACK=0006H 342
215 0000H 1 PASS1TEXT. . . . . BYTE ARRAY(1) EXTERNAL(116) 275
265 0188H 16 PASS2INIT. . . . . PROCEDURE STACK=000EH 322
277 01B5H 125 PASS2TERMINATE . . PROCEDURE STACK=0008H 343
7 PCODEMACRO . . . . LITERALLY
7 PCSEG. . . . . . . LITERALLY
7 PDB. . . . . . . . LITERALLY
7 PDBIT. . . . . . . LITERALLY
7 PDD. . . . . . . . LITERALLY
7 PDSEG. . . . . . . LITERALLY
7 PDW. . . . . . . . LITERALLY
7 PEJECT . . . . . . LITERALLY
7 PEND . . . . . . . LITERALLY
7 PENDIF . . . . . . LITERALLY
7 PENDM. . . . . . . LITERALLY
7 PEQU . . . . . . . LITERALLY
7 PESEG. . . . . . . LITERALLY
7 PIF. . . . . . . . LITERALLY
7 PIFLIST. . . . . . LITERALLY
7 PINCLUDE . . . . . LITERALLY
7 PLIST. . . . . . . LITERALLY
7 PMODRM . . . . . . LITERALLY
7 PNOIFLIST. . . . . LITERALLY
7 PNOLIST. . . . . . LITERALLY
7 PNOSEGFIX. . . . . LITERALLY
7 PORG . . . . . . . LITERALLY
7 PPAGESIZE. . . . . LITERALLY
7 PPAGEWIDTH . . . . LITERALLY
7 PRB. . . . . . . . LITERALLY
7 PRELB. . . . . . . LITERALLY
7 PRELW. . . . . . . LITERALLY
166 0000H PRINTCRLF. . . . . PROCEDURE EXTERNAL(63) STACK=0000H
212 0000H 1 PRINTDEVICE. . . . BYTE EXTERNAL(89) 256 283
9 PRINTER. . . . . . LITERALLY
172 0000H PRINTINIT. . . . . PROCEDURE EXTERNAL(66) STACK=0000H
168 0000H PRINTNEWPAGE . . . PROCEDURE EXTERNAL(64) STACK=0000H
212 0000H 1 PRINTON. . . . . . BYTE EXTERNAL(85) 246 259 266 274
163 0000H PRINTSINGLEBYTE. . PROCEDURE EXTERNAL(62) STACK=0000H
PL/M-86 COMPILER ASM86 MAIN PROGRAM 10/5/81 PAGE 10
170 0000H PRINTSOURCELINE. . PROCEDURE EXTERNAL(65) STACK=0000H
212 0000H 1 PRINTSWITCHOFF . . BYTE EXTERNAL(86) 248
174 0000H PRINTTERMINATE . . PROCEDURE EXTERNAL(67) STACK=0000H 284
2 PROC . . . . . . . LITERALLY 26 29 38 41 44 102 105
108 111 113 115 117 119 121 123 125 127
129 131 133 135 137 140 142 144 146 149
151 153 155 158 161 163 166 168 170 172
174 177 181 183 185 188 191 194 197 200
203 206 209 216 230 245 253 262 265 270
273 277 295
7 PRS. . . . . . . . LITERALLY
7 PRW. . . . . . . . LITERALLY
7 PSEGFIX. . . . . . LITERALLY
4 PSEUDO . . . . . . LITERALLY
10 PSEUDOOPERR. . . . LITERALLY
7 PSIMFORM . . . . . LITERALLY
7 PSSEG. . . . . . . LITERALLY
17 0000H 2 PT . . . . . . . . WORD PARAMETER 18
7 PTITLE . . . . . . LITERALLY
203 0000H 2 PTR. . . . . . . . WORD PARAMETER 204
6 RAH. . . . . . . . LITERALLY
6 RAL. . . . . . . . LITERALLY
6 RAX. . . . . . . . LITERALLY
6 RBH. . . . . . . . LITERALLY
6 RBL. . . . . . . . LITERALLY
6 RBP. . . . . . . . LITERALLY
6 RBX. . . . . . . . LITERALLY
6 RCH. . . . . . . . LITERALLY
6 RCL. . . . . . . . LITERALLY
6 RCS. . . . . . . . LITERALLY 251
6 RCX. . . . . . . . LITERALLY
6 RDH. . . . . . . . LITERALLY
6 RDI. . . . . . . . LITERALLY
6 RDL. . . . . . . . LITERALLY
6 RDS. . . . . . . . LITERALLY
6 RDX. . . . . . . . LITERALLY
59 0000H READCONSOLE. . . . PROCEDURE BYTE EXTERNAL(19) STACK=0000H 233
237
86 0000H READRECORD . . . . PROCEDURE BYTE EXTERNAL(29) STACK=0000H
2 REENT. . . . . . . LITERALLY
4 REG. . . . . . . . LITERALLY
6 RES. . . . . . . . LITERALLY
200 0000H 2 RESULT . . . . . . WORD PARAMETER 201
191 0000H 2 RESULT . . . . . . WORD PARAMETER 192
185 0000H 2 RESULT . . . . . . WORD PARAMETER 186
206 0000H 2 RETURNPTR. . . . . WORD PARAMETER 207
127 0000H REWINDSOURCE . . . PROCEDURE EXTERNAL(46) STACK=0000H
8 RIGHTBRACKET . . . LITERALLY
6 RSI. . . . . . . . LITERALLY
6 RSP. . . . . . . . LITERALLY
6 RSS. . . . . . . . LITERALLY
35 0000H 2 S. . . . . . . . . WORD PARAMETER 36
151 0000H SCAN . . . . . . . PROCEDURE EXTERNAL(57) STACK=0000H 303 304
325 336
149 0000H SCANINIT . . . . . PROCEDURE EXTERNAL(56) STACK=0000H 324
3 SEGMBIT. . . . . . LITERALLY
3 SEGMCOUNT. . . . . LITERALLY
PL/M-86 COMPILER ASM86 MAIN PROGRAM 10/5/81 PAGE 11
3 SEGTYPEBIT . . . . LITERALLY
3 SEGTYPECOUNT . . . LITERALLY
71 0000H SELECTDISK . . . . PROCEDURE EXTERNAL(24) STACK=0000H
97 0000H SETDMAADDRESS. . . PROCEDURE EXTERNAL(33) STACK=0000H
212 0000H 1 SIMFORM. . . . . . BYTE EXTERNAL(90) 254
153 0000H SKIPRESTOFLINE . . PROCEDURE EXTERNAL(58) STACK=0000H
158 0000H SKIPUNTIL. . . . . PROCEDURE BYTE EXTERNAL(60) STACK=0000H
197 0000H 2 SOURCE . . . . . . WORD PARAMETER 198
2 SPACE. . . . . . . LITERALLY
4 SPEC . . . . . . . LITERALLY
155 0000H SPECIALTOKEN . . . PROCEDURE BYTE EXTERNAL(59) STACK=0000H
200 0000H 2 STRADR . . . . . . WORD PARAMETER 201
191 0000H 2 STRADR . . . . . . WORD PARAMETER 192
188 0000H 2 STRADR . . . . . . WORD PARAMETER 189
185 0000H 2 STRADR . . . . . . WORD PARAMETER 186
4 STRING . . . . . . LITERALLY
2 STRUC. . . . . . . LITERALLY
197 0000H 2 SYMBADR. . . . . . WORD PARAMETER 198
194 0000H 2 SYMBADR. . . . . . WORD PARAMETER 195
215 0000H 1 SYMBFULLERRTEXT. . BYTE ARRAY(1) EXTERNAL(113)
183 0000H SYMBINIT . . . . . PROCEDURE EXTERNAL(72) STACK=0000H 258
4 SYMBOL . . . . . . LITERALLY
3 SYMBOLHEAD . . . . LITERALLY
3 SYMBOLSTRUC. . . . LITERALLY
181 0000H SYMBTERMINATE. . . PROCEDURE EXTERNAL(71) STACK=0000H 282
57 0000H SYSTEMRESET. . . . PROCEDURE EXTERNAL(18) STACK=0000H 313 348
11 0000H 2 T. . . . . . . . . WORD PARAMETER 12
2 TAB. . . . . . . . LITERALLY
55 0000H 1 TBUFF. . . . . . . BYTE ARRAY(1) EXTERNAL(16)
14 0000H 2 TEXTADR. . . . . . WORD PARAMETER 15
2 THENDO . . . . . . LITERALLY 297 301 310 327
158 0000H 1 TOK. . . . . . . . BYTE PARAMETER 159
155 0000H 1 TOK. . . . . . . . BYTE PARAMETER 156
2 TRUE . . . . . . . LITERALLY 235 240 250 266 329 337
146 0000H 1 TYP. . . . . . . . BYTE PARAMETER 147
3 TYPEBIT. . . . . . LITERALLY
3 TYPECOUNT. . . . . LITERALLY
4 UDEFSYMB . . . . . LITERALLY
10 UDEFSYMBOL . . . . LITERALLY
32 0000H UPPER. . . . . . . PROCEDURE BYTE EXTERNAL(7) STACK=0000H 237
215 0000H 1 USBREAKTEXT. . . . BYTE ARRAY(1) EXTERNAL(114) 236
278 0000H 1 USEFACT. . . . . . BYTE 279 284 290
174 0000H 1 USEFACT. . . . . . BYTE PARAMETER 175
215 0000H 1 USEFACTOR. . . . . BYTE ARRAY(1) EXTERNAL(105) 289
230 00ECH 63 USERBREAK. . . . . PROCEDURE BYTE STACK=0006H 327
9 VALIDDISK. . . . . LITERALLY
4 VARIABLE . . . . . LITERALLY
245 012BH 47 VARINIT. . . . . . PROCEDURE STACK=000AH 260 263 267
69 0000H VERSION. . . . . . PROCEDURE WORD EXTERNAL(23) STACK=0000H
5 WRD. . . . . . . . LITERALLY
61 0000H WRITECONSOLE . . . PROCEDURE EXTERNAL(20) STACK=0000H 292
64 0000H WRITELIST. . . . . PROCEDURE EXTERNAL(21) STACK=0000H
89 0000H WRITERECORD. . . . PROCEDURE BYTE EXTERNAL(30) STACK=0000H
215 0000H 1 YES. . . . . . . . BYTE EXTERNAL(100) 239
PL/M-86 COMPILER ASM86 MAIN PROGRAM 10/5/81 PAGE 12
MODULE INFORMATION:
CODE AREA SIZE = 025EH 606D
CONSTANT AREA SIZE = 0000H 0D
VARIABLE AREA SIZE = 0001H 1D
MAXIMUM STACK SIZE = 0010H 16D
932 LINES READ
0 PROGRAM ERROR(S)
END OF PL/M-86 COMPILATION