PL/M-86 COMPILER PRINT MODULE 10/5/81 PAGE 1 ISIS-II PL/M-86 V2.0 COMPILATION OF MODULE PRINT OBJECT MODULE PLACED IN PRINT.OBJ COMPILER INVOKED BY: :F0: PRINT.PLM DEBUG OPTIMIZE(2) DATE(10/5/81) PAGEWIDTH(100) XREF $title ('PRINT MODULE') 1 print: do; /* modified 3/26/81 R. Silberstein modified 3/30/81 R. Silberstein modified 4/7/81 R. Silberstein modified 4/9/81 R. Silberstein modified 4/16/81 R. Silberstein modified 4/20/81 R. Silberstein modified 5/5/81 R. Silberstein modified 7/24/81 R. Silberstein modified 7/27/81 R. Silberstein modified 8/19/81 R. Silberstein modified 9/2/81 R. Silberstein modified 9/19/81 R. Silberstein */ $include (:f1:macro.lit) = $nolist $include (:f1:struc.lit) = $nolist $INCLUDE (:F1:DEV.LIT) = $nolist $include (:f1:files.ext) = $nolist $include (:f1:subr2.ext) = $nolist $include (:f1:global.ext) = $nolist $include (:f1:text.ext) = $nolist 85 1 dcl pageno byte, /* current page no */ lineno byte, /* current line no */ col byte, /* column counter */ field1start lit '6', /* start of hexoutput print */ FIELD15START LIT '19', /* START OF ABSOLUTE ADDRESS FIELD */ field2start lit '24'; /* start of source output print */ 86 1 printbyt: proc(ch); 87 2 dcl ch byte; 88 2 if not asciichar(ch) then ch='#'; 90 2 if ch <> lf then col=col+1; 92 2 if ch = cr then col=0; 94 2 call outprintbyte(ch); 95 2 end printbyt; PL/M-86 COMPILER PRINT MODULE 10/5/81 PAGE 2 96 1 advance: proc(n); /* advance to column "n" */ 97 2 dcl n byte; 98 2 do while n > col; 99 3 call printbyt(space); 100 3 end$while; 101 2 end advance; 102 1 printtext: proc(s); 103 2 dcl s address,ch based s byte; 104 2 DO WHILE CH <> 0; 105 3 CALL PRINTBYT (CH); 106 3 S = S + 1; 107 3 END; 108 2 end printtext; 109 1 printheader: proc; 110 2 COL = 0; 111 2 pageno=pageno+1; 112 2 call printtext(.initials); 113 2 call printtext(.sourcename); 114 2 call printtext(.(' ',0)); 115 2 call printtext(.title); 116 2 call advance(maxcol-11); 117 2 call printtext(.pagetext); 118 2 call decout(pageno,.help(0)); 119 2 call printtext(.help(1)); 120 2 call printtext(.(cr,lf,cr,lf,cr,lf,0)); 121 2 lineno=4; 122 2 end printheader; /* Public routine to perform page eject */ 123 1 eject: proc public; 124 2 if simform then$do 126 3 do while (lineno:=lineno+1) <= pagesize; 127 4 call printbyt(cr); 128 4 call printbyt(lf); 129 4 end$while; 130 3 else$do 132 3 call outprintbyte(formfeed); 133 3 end$if; 134 2 lineno=0; 135 2 end eject; 136 1 printnewpage: proc public; 137 2 IF LINENO > 4 THEN$DO 139 3 call eject; 140 3 call printheader; 141 3 END$IF; 142 2 end printnewpage; 143 1 incrementline: proc; 144 2 lineno = lineno + 1; 145 2 if lineno >= pagesize - 10 then call printnewpage; 147 2 end incrementline; PL/M-86 COMPILER PRINT MODULE 10/5/81 PAGE 3 /* Print single byte,update column counter, expand tabs (each 8.th column) */ 148 1 print$single$byte: proc(ch) public; 149 2 dcl ch byte; 150 2 if ch=tab then$do 152 3 ch=8-((col-field2start) mod 8); 153 3 do while (ch:=ch-1) <> 0ffh; 154 4 call printbyt(space); 155 4 end$while; 156 3 else$do 158 3 call printbyt(ch); 159 3 if ch = lf then call incrementline; end$if; 162 2 end print$single$byte; 163 1 print$crlf: proc public; 164 2 call print$single$byte(cr); 165 2 call print$single$byte(lf); 166 2 end print$crlf; /* Print a field given by last column of field,source- array containing ascii bytes,index of this array, and index of last byte of source array. Before entry, the current column position must be start of this field. */ 167 1 print$field: proc (sourceindex,s,lastindex,stopcol); 168 2 dcl (sourceindex,s,lastindex) address, stopcol byte, source based s (1) byte, k based sourceindex byte, last based lastindex byte; 169 2 do while col < stopcol and k < last; 170 3 call print$single$byte(source(k)); 171 3 k=k+1; 172 3 end$while; 173 2 end print$field; 174 1 print$sl: proc; 175 2 dcl (i,j) byte; 176 2 DECLARE K BYTE; 177 2 IF (PRINTDEVICE = NULL) AND NOT ERRORPRINTED THEN RETURN; /* NO NEED TO WASTE TIME - HERE */ 179 2 if include$on then$do 181 3 prefix(0)='='; 182 3 if prefixptr=0 then prefixptr=1; end$if; 185 2 i,j,col=0; /* print first field of line prefix */ 186 2 call printfield(.i,.prefix(0),.prefixptr,field1start); /* Print rest of prefix and source. If line overflow, print rest on following lines. */ PL/M-86 COMPILER PRINT MODULE 10/5/81 PAGE 4 187 2 if prefixptr-i+sourceptr > 0 then$do 189 3 do while (prefixptr-i) + (sourceptr-j) >0; 190 4 call advance(field1start); 191 4 call printfield( .i,.prefix(0),.prefixptr,((field15start-1)/3)*3); 192 4 IF ABSADDR (0) <> SPACE THEN$DO 194 5 CALL ADVANCE (FIELD15START); 195 5 DO K = 0 TO 3; 196 6 CALL PRINTSINGLEBYTE (ABSADDR (K)); 197 6 END; 198 5 END$IF; 199 4 if sourceptr-j >0 then$do 201 5 call advance(field2start); 202 5 call printfield(.j,.sourcebuf(0),.sourceptr,maxcol-1); 203 5 end$if; 204 4 call printcrlf; 205 4 end$while; 206 3 else$do 208 3 call printcrlf; 209 3 end$if; 210 2 end print$sl; /* Public routine to print prefix and source line on printfile. */ 211 1 print$source$line: proc public; 212 2 IF PRINT$ON OR ERRORPRINTED THEN CALL PRINT$SL; 214 2 CALL FILL (SPACE, PREFIXPTR, .PREFIX); 215 2 CALL FILL (SPACE, LENGTH (ABSADDR), .ABSADDR); 216 2 prefixptr,sourceptr=0; 217 2 end print$source$line; /* Public routine to initiate print module */ 218 1 printinit: proc public; 219 2 if print$on then$do 221 3 pageno=0; 222 3 LINENO = 0FFH; 223 3 CALL PRINTNEWPAGE; 224 3 end$if; 225 2 end printinit; /* Public routine to print module information on printfile */ 226 1 printterminate: proc (USEFACT) public; 227 2 DECLARE USEFACT BYTE; 228 2 if print$on then$do 230 3 CALL PRINTCRLF; 231 3 CALL PRINTCRLF; 232 3 call printtext(.endtext); /* END OF ASSEMBLY. NO OF ERRORS: */ 233 3 call decout(errors,.help(0)); 234 3 call printtext(.help(2)); 235 3 CALL PRINTTEXT (.USEFACTOR); 236 3 CALL DECOUT (USEFACT, .HELP (0)); 237 3 CALL PRINTTEXT (.HELP (3)); 238 3 CALL PRINTTEXT (.(25H,CR,LF,0)); /* % */ 239 3 end$if; PL/M-86 COMPILER PRINT MODULE 10/5/81 PAGE 5 240 2 end printterminate; 241 1 end$module print; PL/M-86 COMPILER PRINT MODULE 10/5/81 PAGE 6 CROSS-REFERENCE LISTING ----------------------- DEFN ADDR SIZE NAME, ATTRIBUTES, AND REFERENCES ----- ------ ----- -------------------------------- 81 0000H 4 ABSADDR. . . . . . BYTE ARRAY(4) EXTERNAL(62) 192 196 215 81 0000H 1 ACCLEN . . . . . . BYTE EXTERNAL(66) 81 0000H 1 ACCLENSAVE . . . . BYTE EXTERNAL(69) 81 0000H 80 ACCUM. . . . . . . BYTE ARRAY(80) EXTERNAL(67) 81 0000H 80 ACCUMSAVE. . . . . BYTE ARRAY(80) EXTERNAL(68) 2 ADDR . . . . . . . LITERALLY 41 46 52 70 73 76 79 81 96 0032H 24 ADVANCE. . . . . . PROCEDURE STACK=000EH 116 190 194 201 60 0000H ALPHANUMERIC . . . PROCEDURE BYTE EXTERNAL(23) STACK=0000H 63 0000H ASCIICHAR. . . . . PROCEDURE BYTE EXTERNAL(24) STACK=0000H 88 84 0000H 1 ASM86TEXT. . . . . BYTE ARRAY(1) EXTERNAL(96) 81 0008H 1 BASEINDEX. . . . . BYTE MEMBER(OPERANDS) 81 0008H 1 BASEINDEX. . . . . BYTE MEMBER(CURRENTSYMBOL) 3 BASEREGBIT . . . . LITERALLY 3 BASEREGCOUNT . . . LITERALLY 3 BREGBIT. . . . . . LITERALLY 3 BREGCOUNT. . . . . LITERALLY 148 0004H 1 CH . . . . . . . . BYTE PARAMETER AUTOMATIC 149 150 152 153 158 159 54 0000H 1 CH . . . . . . . . BYTE PARAMETER 55 5 0000H 1 CH . . . . . . . . BYTE PARAMETER 6 103 0000H 1 CH . . . . . . . . BYTE BASED(S) 104 105 57 0000H 1 CH . . . . . . . . BYTE PARAMETER 58 8 0000H 1 CH . . . . . . . . BYTE PARAMETER 9 66 0000H 1 CH . . . . . . . . BYTE PARAMETER 67 86 0004H 1 CH . . . . . . . . BYTE PARAMETER AUTOMATIC 87 88 89 90 92 94 63 0000H 1 CH . . . . . . . . BYTE PARAMETER 64 60 0000H 1 CH . . . . . . . . BYTE PARAMETER 61 51 0000H 1 CH . . . . . . . . BYTE PARAMETER 52 11 0000H 1 CH . . . . . . . . BYTE PARAMETER 12 81 0000H 2 CIP. . . . . . . . WORD EXTERNAL(31) 84 0000H 1 CLOSEERRTEXT . . . BYTE ARRAY(1) EXTERNAL(102) 34 0000H CLOSEHEX . . . . . PROCEDURE EXTERNAL(13) STACK=0000H 32 0000H CLOSEINCLUDE . . . PROCEDURE EXTERNAL(12) STACK=0000H 36 0000H CLOSEPRINT . . . . PROCEDURE EXTERNAL(14) STACK=0000H 28 0000H CLOSESOURCE. . . . PROCEDURE EXTERNAL(10) STACK=0000H 38 0000H CLOSESYMBOL. . . . PROCEDURE EXTERNAL(15) STACK=0000H 81 0000H 1 CODEMACROFLAG. . . BYTE EXTERNAL(88) 3 CODEMACROHEAD. . . LITERALLY 81 0000H 2 CODEMACROPTR . . . WORD EXTERNAL(83) 85 0002H 1 COL. . . . . . . . BYTE 91 93 98 110 152 169 185 4 CONSOLE. . . . . . LITERALLY 2 CR . . . . . . . . LITERALLY 92 120 127 164 238 81 0000H 2 CSCIP. . . . . . . WORD EXTERNAL(36) 81 0000H 1 CSEGSPEC . . . . . BYTE EXTERNAL(34) 81 0000H 1 CSEGTYPE . . . . . BYTE EXTERNAL(32) 81 0000H 2 CSEGVALUE. . . . . WORD EXTERNAL(33) PL/M-86 COMPILER PRINT MODULE 10/5/81 PAGE 7 81 0000H 1 CSPEC. . . . . . . BYTE EXTERNAL(43) 81 0000H 2 CURCSEG. . . . . . WORD EXTERNAL(39) 81 0000H 2 CURDSEG. . . . . . WORD EXTERNAL(40) 81 0000H 2 CURESEG. . . . . . WORD EXTERNAL(42) 81 0000H 9 CURRENTSYMBOL. . . STRUCTURE EXTERNAL(79) 81 0000H 2 CURSSEG. . . . . . WORD EXTERNAL(41) 69 0000H 2 D. . . . . . . . . WORD PARAMETER 70 72 0000H 2 D. . . . . . . . . WORD PARAMETER 73 75 0000H 2 D. . . . . . . . . WORD PARAMETER 76 78 0000H 2 D. . . . . . . . . WORD PARAMETER 79 2 DCL. . . . . . . . LITERALLY 78 0000H DECOUT . . . . . . PROCEDURE EXTERNAL(29) STACK=0000H 118 233 236 81 0000H 1 DEFAULTDRIVE . . . BYTE EXTERNAL(86) 81 0001H 1 DESCR. . . . . . . BYTE MEMBER(TOKEN) 40 0000H 1 DEV. . . . . . . . BYTE PARAMETER 41 54 0000H DIGIT. . . . . . . PROCEDURE BYTE EXTERNAL(21) STACK=0000H 84 0000H 1 DISKREADERRTEXT. . BYTE ARRAY(1) EXTERNAL(99) 84 0000H 1 DISKWRITEERRTXT. . BYTE ARRAY(1) EXTERNAL(100) 81 0000H 2 DSCIP. . . . . . . WORD EXTERNAL(38) 81 0000H 1 DSPEC. . . . . . . BYTE EXTERNAL(44) 123 00BDH 51 EJECT. . . . . . . PROCEDURE PUBLIC STACK=000CH 139 2 ELSEDO . . . . . . LITERALLY 2 ENDCASE. . . . . . LITERALLY 2 ENDDO. . . . . . . LITERALLY 2 ENDFOREVER . . . . LITERALLY 2 ENDIF. . . . . . . LITERALLY 160 183 2 ENDMODULE. . . . . LITERALLY 2 ENDOFFILE. . . . . LITERALLY 2 ENDPROC. . . . . . LITERALLY 84 0000H 1 ENDTEXT. . . . . . BYTE ARRAY(1) EXTERNAL(94) 232 2 ENDWHILE . . . . . LITERALLY 81 0000H 1 EOFSET . . . . . . BYTE EXTERNAL(70) 69 0000H EQUAL. . . . . . . PROCEDURE BYTE EXTERNAL(26) STACK=0000H 81 0000H 1 ERRORPRINTED . . . BYTE EXTERNAL(73) 177 212 81 0000H 2 ERRORS . . . . . . WORD EXTERNAL(63) 233 81 0000H 2 ESCIP. . . . . . . WORD EXTERNAL(35) 81 0000H 1 ESPEC. . . . . . . BYTE EXTERNAL(46) 2 FALSE. . . . . . . LITERALLY 48 0000H 2 FCBADR . . . . . . WORD PARAMETER 49 85 FIELD15START . . . LITERALLY 191 194 85 FIELD1START. . . . LITERALLY 186 190 85 FIELD2START. . . . LITERALLY 152 201 48 0000H FILEABORT. . . . . PROCEDURE EXTERNAL(19) STACK=0000H 3 FILEISTRUCTURE . . LITERALLY 3 FILEOSTRUCTURE . . LITERALLY 43 0000H FILESETUP. . . . . PROCEDURE BYTE EXTERNAL(17) STACK=0000H 51 0000H FILL . . . . . . . PROCEDURE EXTERNAL(20) STACK=0000H 214 215 40 0000H 2 FILNAM . . . . . . WORD PARAMETER 41 40 0000H 2 FILTYP . . . . . . WORD PARAMETER 41 81 0000H 2 FIRSTMACROPTR. . . WORD EXTERNAL(74) 2 FOREVER. . . . . . LITERALLY 2 FORMFEED . . . . . LITERALLY 132 81 0000H 1 FULLSYMBTAB. . . . BYTE EXTERNAL(76) 82 0000H GLOBALINIT . . . . PROCEDURE EXTERNAL(89) STACK=0000H 81 0000H 5 HELP . . . . . . . BYTE ARRAY(5) EXTERNAL(84) 118 119 233 234 236 237 PL/M-86 COMPILER PRINT MODULE 10/5/81 PAGE 8 72 0000H HEX1OUT. . . . . . PROCEDURE EXTERNAL(27) STACK=0000H 75 0000H HEX2OUT. . . . . . PROCEDURE EXTERNAL(28) STACK=0000H 81 0000H 1 I. . . . . . . . . BYTE EXTERNAL(85) 175 0003H 1 I. . . . . . . . . BYTE 185 186 187 189 191 40 0000H IFILESETUP . . . . PROCEDURE EXTERNAL(16) STACK=0000H 81 0000H 1 IFLEVEL. . . . . . BYTE EXTERNAL(78) 81 0000H 1 IFLIST . . . . . . BYTE EXTERNAL(49) 81 0000H 1 INCLUDEDEFAULT . . BYTE EXTERNAL(87) 81 0000H 1 INCLUDEON. . . . . BYTE EXTERNAL(77) 179 143 0102H 27 INCREMENTLINE. . . PROCEDURE STACK=001AH 160 3 INDEXREGBIT. . . . LITERALLY 3 INDEXREGCOUNT. . . LITERALLY 16 0000H ININCLUDEBYTE. . . PROCEDURE BYTE EXTERNAL(4) STACK=0000H 2 INIT . . . . . . . LITERALLY 84 0000H 1 INITIALS . . . . . BYTE ARRAY(1) EXTERNAL(92) 112 14 0000H INSOURCEBYTE . . . PROCEDURE BYTE EXTERNAL(3) STACK=0000H 81 0000H 1 INTELHEXON . . . . BYTE EXTERNAL(71) 3 IREGBIT. . . . . . LITERALLY 3 IREGCOUNT. . . . . LITERALLY 175 0004H 1 J. . . . . . . . . BYTE 185 189 199 202 176 0005H 1 K. . . . . . . . . BYTE 195 196 168 0000H 1 K. . . . . . . . . BYTE BASED(SOURCEINDEX) 169 170 171 168 0000H 1 LAST . . . . . . . BYTE BASED(LASTINDEX) 169 167 0006H 2 LASTINDEX. . . . . WORD PARAMETER AUTOMATIC 168 169 81 0000H 2 LENGTH . . . . . . WORD MEMBER(CURRENTSYMBOL) LENGTH . . . . . . BUILTIN 215 81 0000H 2 LENGTH . . . . . . WORD MEMBER(OPERANDS) 57 0000H LETTER . . . . . . PROCEDURE BYTE EXTERNAL(22) STACK=0000H 2 LF . . . . . . . . LITERALLY 90 120 128 159 165 238 85 0001H 1 LINENO . . . . . . BYTE 121 126 134 137 144 145 222 2 LIT. . . . . . . . LITERALLY 2 3 4 85 81 0000H 2 MACROPTR . . . . . WORD EXTERNAL(75) 84 0000H 1 MAKEERRTEXT. . . . BYTE ARRAY(1) EXTERNAL(101) 81 0000H 1 MAXCOL . . . . . . BYTE EXTERNAL(50) 116 202 51 0000H 1 N. . . . . . . . . BYTE PARAMETER 52 78 0000H 2 N. . . . . . . . . WORD PARAMETER 79 75 0000H 2 N. . . . . . . . . WORD PARAMETER 76 72 0000H 1 N. . . . . . . . . BYTE PARAMETER 73 69 0000H 1 N. . . . . . . . . BYTE PARAMETER 70 96 0004H 1 N. . . . . . . . . BYTE PARAMETER AUTOMATIC 97 98 81 0000H 1 NEXTCH . . . . . . BYTE EXTERNAL(65) 84 0000H 1 NO . . . . . . . . BYTE EXTERNAL(91) 81 0000H 1 NOERROR. . . . . . BYTE EXTERNAL(72) 81 0000H 1 NOOPER . . . . . . BYTE EXTERNAL(81) 3 NOOVERCOUNT. . . . LITERALLY 3 NOOVERRIDEBIT. . . LITERALLY 4 NULL . . . . . . . LITERALLY 177 81 0006H 2 OFFSET . . . . . . WORD MEMBER(OPERANDS) 81 0006H 2 OFFSET . . . . . . WORD MEMBER(CURRENTSYMBOL) 84 0000H 1 OPENERRTEXT. . . . BYTE ARRAY(1) EXTERNAL(98) 22 0000H OPENHEX. . . . . . PROCEDURE EXTERNAL(7) STACK=0000H 20 0000H OPENINCLUDE. . . . PROCEDURE EXTERNAL(6) STACK=0000H 24 0000H OPENPRINT. . . . . PROCEDURE EXTERNAL(8) STACK=0000H 18 0000H OPENSOURCE . . . . PROCEDURE EXTERNAL(5) STACK=0000H 26 0000H OPENSYMBOL . . . . PROCEDURE EXTERNAL(9) STACK=0000H 81 0000H 36 OPERANDS . . . . . STRUCTURE ARRAY(4) EXTERNAL(82) 3 OPERANDSTRUC . . . LITERALLY 81 PL/M-86 COMPILER PRINT MODULE 10/5/81 PAGE 9 5 0000H OUTHEXBYTE . . . . PROCEDURE EXTERNAL(0) STACK=0000H 8 0000H OUTPRINTBYTE . . . PROCEDURE EXTERNAL(1) STACK=0000H 94 132 11 0000H OUTSYMBOLBYTE. . . PROCEDURE EXTERNAL(2) STACK=0000H 45 0000H OUTTEXT. . . . . . PROCEDURE EXTERNAL(18) STACK=0000H 85 0000H 1 PAGENO . . . . . . BYTE 111 118 221 81 0000H 1 PAGESIZE . . . . . BYTE EXTERNAL(56) 126 145 84 0000H 1 PAGETEXT . . . . . BYTE ARRAY(1) EXTERNAL(93) 117 84 0000H 1 PARERRTEXT . . . . BYTE ARRAY(1) EXTERNAL(97) 81 0000H 1 PASS . . . . . . . BYTE EXTERNAL(30) 84 0000H 1 PASS0TEXT. . . . . BYTE ARRAY(1) EXTERNAL(105) 84 0000H 1 PASS1TEXT. . . . . BYTE ARRAY(1) EXTERNAL(106) 81 0000H 240 PREFIX . . . . . . BYTE ARRAY(240) EXTERNAL(60) 181 186 191 214 81 0000H 1 PREFIXPTR. . . . . BYTE EXTERNAL(61) 182 183 186 187 189 191 214 216 1 0000H PRINT. . . . . . . PROCEDURE STACK=0000H 86 0000H 50 PRINTBYT . . . . . PROCEDURE STACK=0008H 99 105 127 128 154 158 163 0160H 17 PRINTCRLF. . . . . PROCEDURE PUBLIC STACK=0024H 204 208 230 231 81 0000H 1 PRINTDEVICE. . . . BYTE EXTERNAL(53) 177 4 PRINTER. . . . . . LITERALLY 167 0171H 60 PRINTFIELD . . . . PROCEDURE STACK=002CH 186 191 202 109 0063H 90 PRINTHEADER. . . . PROCEDURE STACK=0012H 140 218 02CAH 25 PRINTINIT. . . . . PROCEDURE PUBLIC STACK=001AH 136 00F0H 18 PRINTNEWPAGE . . . PROCEDURE PUBLIC STACK=0016H 146 223 81 0000H 1 PRINTON. . . . . . BYTE EXTERNAL(47) 212 219 228 148 011DH 67 PRINTSINGLEBYTE. . PROCEDURE PUBLIC STACK=0020H 164 165 170 196 174 01ADH 229 PRINTSL. . . . . . PROCEDURE STACK=0030H 213 211 0292H 56 PRINTSOURCELINE. . PROCEDURE PUBLIC STACK=0034H 81 0000H 1 PRINTSWITCHOFF . . BYTE EXTERNAL(48) 226 02E3H 79 PRINTTERMINATE . . PROCEDURE PUBLIC STACK=002AH 102 004AH 25 PRINTTEXT. . . . . PROCEDURE STACK=000EH 112 113 114 115 117 119 120 232 234 235 237 238 2 PROC . . . . . . . LITERALLY 5 8 11 14 16 18 20 22 24 26 28 30 32 34 36 38 40 43 60 63 72 75 78 86 96 102 109 123 136 143 148 163 167 174 211 218 226 51 0000H 2 PT . . . . . . . . WORD PARAMETER 52 2 REENT. . . . . . . LITERALLY 30 0000H REWINDSOURCE . . . PROCEDURE EXTERNAL(11) STACK=0000H 69 0000H 2 S. . . . . . . . . WORD PARAMETER 70 167 0008H 2 S. . . . . . . . . WORD PARAMETER AUTOMATIC 168 170 102 0004H 2 S. . . . . . . . . WORD PARAMETER AUTOMATIC 103 104 105 106 81 0000H 12 SAVESOURCE . . . . BYTE ARRAY(12) EXTERNAL(52) 3 SEGMBIT. . . . . . LITERALLY 3 SEGMCOUNT. . . . . LITERALLY 81 0004H 2 SEGMENT. . . . . . WORD MEMBER(OPERANDS) 81 0004H 2 SEGMENT. . . . . . WORD MEMBER(CURRENTSYMBOL) 3 SEGTYPEBIT . . . . LITERALLY 3 SEGTYPECOUNT . . . LITERALLY 81 0003H 1 SFLAG. . . . . . . BYTE MEMBER(OPERANDS) 81 0003H 1 SFLAG. . . . . . . BYTE MEMBER(CURRENTSYMBOL) 81 0000H 1 SIMFORM. . . . . . BYTE EXTERNAL(57) 124 168 0000H 1 SOURCE . . . . . . BYTE BASED(S) ARRAY(1) 170 PL/M-86 COMPILER PRINT MODULE 10/5/81 PAGE 10 81 0000H 80 SOURCEBUF. . . . . BYTE ARRAY(80) EXTERNAL(58) 202 167 000AH 2 SOURCEINDEX. . . . WORD PARAMETER AUTOMATIC 168 169 170 171 81 0000H 12 SOURCENAME . . . . BYTE ARRAY(12) EXTERNAL(51) 113 81 0000H 1 SOURCEPTR. . . . . BYTE EXTERNAL(59) 187 189 199 202 216 2 SPACE. . . . . . . LITERALLY 99 154 192 214 215 81 0000H 2 SSCIP. . . . . . . WORD EXTERNAL(37) 81 0000H 1 SSPEC. . . . . . . BYTE EXTERNAL(45) 167 0004H 1 STOPCOL. . . . . . BYTE PARAMETER AUTOMATIC 168 169 2 STRUC. . . . . . . LITERALLY 81 81 0002H 1 STYPE. . . . . . . BYTE MEMBER(OPERANDS) 81 0002H 1 STYPE. . . . . . . BYTE MEMBER(CURRENTSYMBOL) 84 0000H 1 SYMBFULLERRTEXT. . BYTE ARRAY(1) EXTERNAL(103) 81 0000H 1 SYMBOLDEVICE . . . BYTE EXTERNAL(54) 3 SYMBOLHEAD . . . . LITERALLY 3 SYMBOLSTRUC. . . . LITERALLY 81 81 0000H 2 SYMBTABADR . . . . WORD EXTERNAL(80) 45 0000H 2 T. . . . . . . . . WORD PARAMETER 46 2 TAB. . . . . . . . LITERALLY 150 48 0000H 2 TEXTADR. . . . . . WORD PARAMETER 49 2 THENDO . . . . . . LITERALLY 124 137 150 179 187 192 199 219 228 81 0000H 30 TITLE. . . . . . . BYTE ARRAY(30) EXTERNAL(55) 115 81 0000H 4 TOKEN. . . . . . . STRUCTURE EXTERNAL(64) 2 TRUE . . . . . . . LITERALLY 81 0000H 1 TYPE . . . . . . . BYTE MEMBER(TOKEN) 3 TYPEBIT. . . . . . LITERALLY 3 TYPECOUNT. . . . . LITERALLY 66 0000H UPPER. . . . . . . PROCEDURE BYTE EXTERNAL(25) STACK=0000H 84 0000H 1 USBREAKTEXT. . . . BYTE ARRAY(1) EXTERNAL(104) 226 0004H 1 USEFACT. . . . . . BYTE PARAMETER AUTOMATIC 227 236 84 0000H 1 USEFACTOR. . . . . BYTE ARRAY(1) EXTERNAL(95) 235 4 VALIDDISK. . . . . LITERALLY 81 0002H 2 VALUE. . . . . . . WORD MEMBER(TOKEN) 84 0000H 1 YES. . . . . . . . BYTE EXTERNAL(90) MODULE INFORMATION: CODE AREA SIZE = 0332H 818D CONSTANT AREA SIZE = 000EH 14D VARIABLE AREA SIZE = 0006H 6D MAXIMUM STACK SIZE = 0034H 52D 615 LINES READ 0 PROGRAM ERROR(S) END OF PL/M-86 COMPILATION