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