PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE   1


ISIS-II PL/M-86 V2.0 COMPILATION OF MODULE SYMB
OBJECT MODULE PLACED IN SYMB.OBJ
COMPILER INVOKED BY:  :F0: SYMB.PLM DEBUG OPTIMIZE(2) DATE(10/5/81) PAGEWIDTH(100) XREF



              $title ('SYMBOL TABLE MODULE')
   1          symb:
              do;

              /*

                modified  3/25/81  R. Silberstein
                modified  3/28/81  R. Silberstein
                modified  3/30/81  R. Silberstein
                modified  4/15/81  R. Silberstein
                modified  4/16/81  R. Silberstein
                modified  4/20/81  R. Silberstein
                modified  6/16/81  R. Silberstein
                modified  7/24/81  R. Silberstein

              */

              /*
                      This is the module to perform all symbol table
                      handling. There are 2 different kinds of symbols,
                      codemacro mnemonics and user defined symbols.

                      The codemacro symbols are entered into the
                      symbol table through the hash vector "CODEMACROENTRY",
                      whereas the user symbols uses the hash vector
                      "SYMBENTRY". Each symbol enters the symbol table through
                      hash vector element "i", where i is the hash function of
                      the symbol. The function is defined as:

                            H(S) = (C1 + C2 +.... + Ci + ..+ Cn) mod 64

                         where Ci is the ascii code of the i'th symbolcharacter.

              */

              $include (:f1:macro.lit)
          =   $nolist
              $include (:f1:equals.lit)
          =   $nolist
              $include (:f1:struc.lit)
          =   $nolist
              $INCLUDE (:F1:DEV.LIT)
          =   $nolist
              $include (:f1:mnem.ext)
          =   $nolist
              $include (:f1:subr1.ext)
          =   $nolist
              $include (:f1:subr2.ext)
          =   $nolist
              $include (:f1:files.ext)
          =   $nolist
PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE   2


              $INCLUDE (:F1:TEXT.EXT)
          =   $nolist
              $INCLUDE (:F1:IO.EXT)
          =   $nolist
 152   1      DECLARE SYMBOLDEVICE BYTE EXTERNAL;
PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE   3


              $eject

              /*     Global variables:      */

 153   1      dcl
              codemacroentry (64) addr       /* opcode mnemonic entry */
                      data(
                      .push,.repz,0,.aaa,0,.movs,.pushf,.MOVSB,
                      .adc,.add,.CMPSW,.ja,.dec,.loopne,0,.repnz,
                      .jae,.jg,.clc,.iand,.loopz,.aas,.jl,.in,
                      .cli,.jo,.inc,.lahf,.icall,.jne,.cwd,.jnbe,
                      .cmp,.ior,.callf,.div,.les,0,.sar,.jmp,
                      .hlt,.lock,.xchg,.ret,.idiv,.jmpf,.mul,.pop,
                      .sti,.inot,.mov,.cmps,.iret,.popf,0,.imul,
                      .out,.xlat,.jmps,0,0,0,0,.loope),

              symbentry (64) addr,              /* user symbol entry */
              symbtab(1) byte at (.memory),     /* symbol table */
              freept      addr public,          /* adr. of next free symb. tab byte */
              end$of$symbtab      addr PUBLIC,  /* last symbol table byte */
              symbolheadlg        byte,         /* length of head for each symbol */
              attributelg         byte,         /* length of symbol attributes */
              codemacheadlg       byte,         /* length of codemacrohead */
              overflowlimit       addr,         /* used to test overflow */
              col                 byte;         /* current column position */

 154   1      DECLARE
                ALPHAROOT ADDRESS,         /* ROOT OF ALPHABETIZED SYMBOL LIST */
                ALPHASYMPTR ADDRESS,       /* POINTER TO CURRENT SYMBOL IN ALPHA LIST */
                ALPHASYM BASED ALPHASYMPTR SYMBOLHEAD,    /* SYMBOL TEMPLATE */
                SORTSYMPTR ADDRESS,        /* POINTER TO SYMBOL BEING INSERTED */
                SORTSYM BASED SORTSYMPTR SYMBOLHEAD;      /* SYMBOL TEMPLATE */

PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE   4


              $eject
              /****************** SUBROUTINES ******************/

 155   1      outbyt:  proc (ch);   /* print one byte to symbol file */
 156   2        dcl ch byte;
 157   2        if ch=cr then$do    /* update column position */
 159   3          col=0;
 160   3        else$do
 162   3          if ch <> lf then col=col+1;
                end$if;
 165   2        call outsymbolbyte(ch);
 166   2      end outbyt;

 167   1      hash: proc (lg,pt) byte;
 168   2        dcl (lg,i,h) byte,pt addr,asc based pt (1) byte;
 169   2        i=0ffh; h=0;
 171   2        do while (i:=i+1) < lg;
 172   3          h=h+asc(i);
 173   3        end$while;
 174   2        return h and 3fh;
 175   2      end hash;

              /*      search for either a user symbol or a codemacro      */

 176   1      search: proc(lg,pt1,pt2,pt3,headlg) byte;
 177   2        dcl (lg,headlg) byte,(pt1,pt2,pt3) addr,
                    ascii based pt1(1) byte,symbptr based pt2 addr,
                    entrytab based pt3 (64) addr,
                    currentpt addr,next based currentpt addr,
                    symbhead based currentpt symbolhead;

 178   2        currentpt=entrytab(hash(lg,.ascii(0)));
 179   2        do while currentpt <> 0;
 180   3          if lg = symbhead.slength then$do
 182   4            if equal(lg,currentpt+headlg,.ascii(0)) then$do
 184   5              symbptr=currentpt+3;
 185   5              return true;
 186   5            end$if;
                  end$if;
 188   3          currentpt=next;
 189   3        end$while;
 190   2        return false;
 191   2      end search;

              /*  enter either new symbol or new codemacro */
 192   1      new: proc(lg,pt1,pt2,headlg,pt3) byte;
 193   2        dcl (lg,headlg) byte,(pt1,pt2,pt3) addr,
                    ascii based pt1 (1) byte,entrytab based pt2 (64) addr,
                    symptr based pt3 addr,
                    current addr,currentcontent based current addr,
                    symb based freept symbolhead;
 194   2        if freept > overflowlimit - (lg+headlg) then$DO
 196   3          CALL OUTTEXT (.SYMBFULLERRTEXT);
 197   3          CALL SYSTEM$RESET;
 198   3        END$IF;
 199   2        current=.entrytab(hash(lg,.ascii(0)));
 200   2        SYMB.NEXT = CURRENTCONTENT;
PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE   5


 201   2        currentcontent=freept;
 202   2        symptr=freept+3;
 203   2        symb.slength=lg;
 204   2        call copy(lg,.ascii(0),freept+headlg);
 205   2        freept=freept+headlg+lg;
 206   2        return true;
 207   2      end new;

 208   1      newsymbol: proc (lg,asciiptr,returnpt) byte public;
 209   2        dcl lg byte,(asciiptr,returnpt) addr;
 210   2        return new(lg,asciiptr,.symbentry,symbolheadlg,returnpt);
 211   2      end newsymbol;

 212   1      newmacro: proc (lg,asciiptr,codmacdefpt) byte public;
 213   2        dcl lg byte,(asciiptr,codmacdefpt,retpt) addr,
                    cmaddr based retpt addr;
 214   2        if new(lg,asciiptr,.codemacroentry,codemacheadlg,.retpt) then$do
 216   3          cmaddr=codmacdefpt;
 217   3          return true;
 218   3        end$if;
 219   2        return false;
 220   2      end newmacro;

 221   1      findsymbol: proc(lg,stradr,result) byte public;
 222   2        dcl lg byte,(stradr,result) addr;
 223   2        return search(lg,stradr,result,.symbentry(0),symbolheadlg);
 224   2      end findsymbol;

 225   1      getattributes: proc(symbadr,dest) public;
 226   2        dcl (symbadr,dest) addr,symb based symbadr symbolstruc;
 227   2        call copy(attributelg,.symb.length,dest);
 228   2      end getattributes;

 229   1      enterattributes: proc(symbadr,source) public;
 230   2        dcl (symbadr,source) addr,symb based symbadr symbolstruc;
 231   2        call copy(attributelg,source,.symb.length);
 232   2      end enterattributes;

 233   1      findcodemacro: proc(lg,stradr,result) byte public;
 234   2        dcl lg byte,(stradr,result) addr;
 235   2        return search(lg,stradr,result,.codemacroentry(0),codemacheadlg);
 236   2      end findcodemacro;

 237   1      new$cm$body: PROC (lg,ptr) byte public;
 238   2        dcl lg byte,ptr addr;
 239   2        if freept > overflowlimit-lg then return false;
 241   2        call copy (lg,ptr,freept);
 242   2        freept=freept+lg;
 243   2        return true;
 244   2      end$proc new$cm$body;

 245   1      new$cm$name: PROC (lg,asciiptr,returnptr) byte public;
 246   2        dcl lg byte,(asciiptr,returnptr) addr;
 247   2        return new(lg,asciiptr,.codemacroentry,5,returnptr);
 248   2      end$proc new$cm$name;

 249   1      SORTSYMBOLS: PROCEDURE;
PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE   6


 250   2        DECLARE
                  CURRENT ADDRESS,
                  CURRENTCONTENT BASED CURRENT ADDRESS,
                  NEXT ADDRESS,
                  I BYTE;

 251   2        ALPHALOCFOUND: PROCEDURE BYTE;
 252   3          DECLARE
                    SORTNAMEPTR ADDRESS,
                    SORTNAME BASED SORTNAMEPTR (1) BYTE,
                    ALPHANAMEPTR ADDRESS,
                    ALPHANAME BASED ALPHANAMEPTR (1) BYTE,
                    I BYTE;

 253   3          SORTNAMEPTR = SORTSYMPTR + SYMBOLHEADLG;
 254   3          ALPHANAMEPTR = ALPHASYMPTR + SYMBOLHEADLG;
 255   3          DO I = 1 TO SORTSYM.SLENGTH;
 256   4            IF I > ALPHASYM.SLENGTH THEN RETURN FALSE;
 258   4            IF SORTNAME (I-1) > ALPHANAME (I-1) THEN RETURN FALSE;
 260   4            IF SORTNAME (I-1) < ALPHANAME (I-1) THEN RETURN TRUE;
 262   4          END;
 263   3          RETURN TRUE;
 264   3        END ALPHALOCFOUND;

 265   2        FIXCHAIN: PROCEDURE;
 266   3          SORTSYM.NEXT = ALPHASYMPTR;
 267   3          CURRENTCONTENT = .SORTSYM;
 268   3        END FIXCHAIN;

 269   2        INSERTALPHA: PROCEDURE;
 270   3          CURRENT, ALPHASYMPTR = .ALPHAROOT;
 271   3          DO WHILE (ALPHASYMPTR := ALPHASYM.NEXT) <> 0;
 272   4            IF ALPHALOCFOUND THEN$DO
 274   5              CALL FIXCHAIN;
 275   5              RETURN;
 276   5            END$IF;
 277   4            CURRENT = ALPHASYMPTR;
 278   4          END$WHILE;
 279   3          CALL FIXCHAIN;
 280   3        END INSERTALPHA;

 281   2        ALPHAROOT = 0;
 282   2        DO I = 0 TO LAST (SYMBENTRY);
 283   3          SORTSYMPTR = SYMBENTRY (I);
 284   3          DO WHILE SORTSYMPTR <> 0;
 285   4            NEXT = SORTSYM.NEXT;
 286   4            CALL INSERTALPHA;
 287   4            SORTSYMPTR = NEXT;
 288   4          END$WHILE;
 289   3        END;
 290   2      END SORTSYMBOLS;

 291   1      outcrlf: proc;
 292   2        call outbyt(cr);
 293   2        call outbyt(lf);
 294   2      end outcrlf;

PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE   7


 295   1      printsymbols:  proc(typ);       /* print all symbols to file */
 296   2        dcl (typ,i) byte;

 297   2        advancetonext: proc; /* advance to next column (16,32,48,64) */
 298   3          dcl (x,y) byte;
 299   3          x=col/16;
 300   3          y=16-(col mod 16);
 301   3          if x >= 4 then$do
 303   4            call outcrlf;
 304   4          else$do
 306   4            IF SYMBOL$DEVICE = PRINTER THEN$DO
 308   5              DO WHILE (Y := Y - 1) <> 255;
 309   6                CALL OUTBYT (SPACE);
 310   6              END$WHILE;
 311   5            ELSE$DO
 313   5              col=col+y;
 314   5              call outsymbolbyte(tab);
 315   5              if y > 8 then call outsymbolbyte(tab);
                    END$IF;
 318   4          end$if;
 319   3        end advancetonext;

 320   2        OUTBYTES: proc(lg,p);
 321   3          dcl lg byte,p addr,asc based p byte;
 322   3          DO WHILE (LG := LG - 1) <> 0FFH;
 323   4            call outbyt(asc);
 324   4            P = P + 1;
 325   4          end$while;
 326   3        end OUTBYTES;

 327   2        printsymb: proc(p);  /* print single symbol */
 328   3          dcl p addr,x based p symbolhead,
                      a addr,ascii based a (1) byte,help(4) byte;
 329   3          a=p+symbolheadlg;
 330   3          if X.STYPE=typ then$do
 332   4            if col+x.slength+5 > 79 then call outcrlf;
 334   4            call hex2out(x.offset,.help(0));
 335   4            CALL OUTBYTES (4, .HELP);
 336   4            call outbyt(space);
 337   4            CALL OUTBYTES (X.SLENGTH, .ASCII);
 338   4            call advancetonext;
 339   4          end$if;
 340   3        end printsymb;

                /* print symbols main program */

 341   2        col=0;
 342   2        CALL OUTBYTES (4, .('0000'));   /* print header */
 343   2        call outbyt(space);
 344   2        if typ=lab then call OUTBYTES(6,.('LABELS'));
 346   2        if typ=variable then call OUTBYTES(9,.('VARIABLES'));
 348   2        if typ=number then call OUTBYTES(7,.('NUMBERS'));
 350   2        call outcrlf;
 351   2        ALPHASYMPTR = ALPHAROOT;
 352   2        DO WHILE ALPHASYMPTR <> 0;
 353   3          CALL PRINTSYMB (ALPHASYMPTR);
 354   3          ALPHASYMPTR = ALPHASYM.NEXT;
PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE   8


 355   3        END;
 356   2        if col <> 0 then call outcrlf;

 358   2      end printsymbols;

 359   1      symbterminate: proc public;   /* print symbol table */
 360   2        IF SYMBOLDEVICE = NULL THEN RETURN;   /* no need to sort, etc. */
 362   2        CALL SORTSYMBOLS;
 363   2        CALL OUTSYMBOLBYTE (FORMFEED);
 364   2        call printsymbols(variable);    /* variables */
 365   2        CALL OUTCRLF;
 366   2        call printsymbols(number);      /* numbers */
 367   2        CALL OUTCRLF;
 368   2        call printsymbols(lab);         /* labels */
 369   2      end symbterminate;

 370   1      symbinit: proc public;
 371   2        dcl i byte;
 372   2        dcl symb symbolhead at (.i),codm codemacrohead at (.i);
 373   2        end$of$symbtab=(endbuf/256)*256-1;
 374   2        freept=.symbtab(0);
 375   2        CALL FILL (0, SIZE (SYMBENTRY), .SYMBENTRY);
 376   2        symbolheadlg=.symb.baseindex-.symb.next+1;
 377   2        attributelg=symbolheadlg-3;
 378   2        codemacheadlg=.codm.defptr-.codm.next+2;
 379   2        overflowlimit=end$of$symbtab-symbolheadlg;
 380   2      end symbinit;

 381   1      end$module symb;
PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE   9


CROSS-REFERENCE LISTING
-----------------------


   DEFN  ADDR   SIZE  NAME, ATTRIBUTES, AND REFERENCES
  ----- ------ -----  --------------------------------


    328  009CH     2  A. . . . . . . . .    WORD       328  329  337 
     10  0000H     1  AAA. . . . . . . .    BYTE EXTERNAL(2)          153 
     10  0000H     1  AAS. . . . . . . .    BYTE EXTERNAL(18)         153 
     10  0000H     1  ADC. . . . . . . .    BYTE EXTERNAL(6)          153 
     10  0000H     1  ADD. . . . . . . .    BYTE EXTERNAL(7)          153 
      2               ADDR . . . . . . .    LITERALLY        12   15   18   21   27   45   48
                                              51   54   92  153  154  168  177  193  209  213
                                             222  226  230  234  238  246  321  328  372 
    297  03D9H   100  ADVANCETONEXT. . .    PROCEDURE STACK=0010H          338 
    251  0290H   114  ALPHALOCFOUND. . .    PROCEDURE BYTE STACK=0002H          272 
    252  0000H     1  ALPHANAME. . . . .    BYTE BASED(ALPHANAMEPTR) ARRAY(1)        258  260
    252  0098H     2  ALPHANAMEPTR . . .    WORD       252  254  258  260 
     35  0000H        ALPHANUMERIC . . .    PROCEDURE BYTE EXTERNAL(63) STACK=0000H
    154  0086H     2  ALPHAROOT. . . . .    WORD       270  281  351 
    154  0000H    12  ALPHASYM . . . . .    STRUCTURE BASED(ALPHASYMPTR)        256  271  354
    154  0088H     2  ALPHASYMPTR. . . .    WORD       154  254  256  266  270  271  277  351
                                             352  353  354 
    321  0000H     1  ASC. . . . . . . .    BYTE BASED(P)        323 
    168  0000H     1  ASC. . . . . . . .    BYTE BASED(PT) ARRAY(1)        172 
    328  0000H     1  ASCII. . . . . . .    BYTE BASED(A) ARRAY(1)         337 
    193  0000H     1  ASCII. . . . . . .    BYTE BASED(PT1) ARRAY(1)       199  204 
    177  0000H     1  ASCII. . . . . . .    BYTE BASED(PT1) ARRAY(1)       178  182 
     38  0000H        ASCIICHAR. . . . .    PROCEDURE BYTE EXTERNAL(64) STACK=0000H
    212  0006H     2  ASCIIPTR . . . . .    WORD PARAMETER AUTOMATIC       213  214 
    245  0006H     2  ASCIIPTR . . . . .    WORD PARAMETER AUTOMATIC       246  247 
    208  0006H     2  ASCIIPTR . . . . .    WORD PARAMETER AUTOMATIC       209  210 
     96  0000H     1  ASM86TEXT. . . . .    BYTE ARRAY(1) EXTERNAL(94)
    153  009FH     1  ATTRIBUTELG. . . .    BYTE       227  231  377 
    154  000BH     1  BASEINDEX. . . . .    BYTE MEMBER(ALPHASYM)
    154  000BH     1  BASEINDEX. . . . .    BYTE MEMBER(SORTSYM)
    193  000BH     1  BASEINDEX. . . . .    BYTE MEMBER(SYMB)
    372  000BH     1  BASEINDEX. . . . .    BYTE MEMBER(SYMB)         376 
    226  0008H     1  BASEINDEX. . . . .    BYTE MEMBER(SYMB)
    328  000BH     1  BASEINDEX. . . . .    BYTE MEMBER(X)
    230  0008H     1  BASEINDEX. . . . .    BYTE MEMBER(SYMB)
    177  000BH     1  BASEINDEX. . . . .    BYTE MEMBER(SYMBHEAD)
      8               BASEREGBIT . . . .    LITERALLY
      8               BASEREGCOUNT . . .    LITERALLY
      8               BREGBIT. . . . . .    LITERALLY
      8               BREGCOUNT. . . . .    LITERALLY
      4               BYT. . . . . . . .    LITERALLY
     10  0000H     1  CALLF. . . . . . .    BYTE EXTERNAL(31)         153 
     59  0000H     1  CH . . . . . . . .    BYTE PARAMETER        60 
     32  0000H     1  CH . . . . . . . .    BYTE PARAMETER        33 
     26  0000H     1  CH . . . . . . . .    BYTE PARAMETER        27 
     38  0000H     1  CH . . . . . . . .    BYTE PARAMETER        39 
     29  0000H     1  CH . . . . . . . .    BYTE PARAMETER        30 
    155  0004H     1  CH . . . . . . . .    BYTE PARAMETER AUTOMATIC       156  157  162  165
     41  0000H     1  CH . . . . . . . .    BYTE PARAMETER        42 
PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE  10


     35  0000H     1  CH . . . . . . . .    BYTE PARAMETER        36 
     56  0000H     1  CH . . . . . . . .    BYTE PARAMETER        57 
     62  0000H     1  CH . . . . . . . .    BYTE PARAMETER        63 
    111  0000H     1  CHAR . . . . . . .    BYTE PARAMETER       112 
    114  0000H     1  CHAR . . . . . . .    BYTE PARAMETER       115 
     10  0000H     1  CLC. . . . . . . .    BYTE EXTERNAL(15)         153 
     10  0000H     1  CLI. . . . . . . .    BYTE EXTERNAL(21)         153 
     96  0000H     1  CLOSEERRTEXT . . .    BYTE ARRAY(1) EXTERNAL(100)
    130  0000H        CLOSEFILE. . . . .    PROCEDURE BYTE EXTERNAL(120) STACK=0000H
     85  0000H        CLOSEHEX . . . . .    PROCEDURE EXTERNAL(83) STACK=0000H
     83  0000H        CLOSEINCLUDE . . .    PROCEDURE EXTERNAL(82) STACK=0000H
     87  0000H        CLOSEPRINT . . . .    PROCEDURE EXTERNAL(84) STACK=0000H
     79  0000H        CLOSESOURCE. . . .    PROCEDURE EXTERNAL(80) STACK=0000H
     89  0000H        CLOSESYMBOL. . . .    PROCEDURE EXTERNAL(85) STACK=0000H
    213  0000H     2  CMADDR . . . . . .    WORD BASED(RETPT)         216 
     10  0000H     1  CMP. . . . . . . .    BYTE EXTERNAL(29)         153 
     10  0000H     1  CMPS . . . . . . .    BYTE EXTERNAL(47)         153 
     10  0000H     1  CMPSW. . . . . . .    BYTE EXTERNAL(8)          153 
      3               CODE . . . . . . .    LITERALLY
    153  00A0H     1  CODEMACHEADLG. . .    BYTE       214  235  378 
    153  0000H   128  CODEMACROENTRY . .    WORD ARRAY(64) DATA       214  235  247 
      8               CODEMACROHEAD. . .    LITERALLY       372 
    372  00ADH     5  CODM . . . . . . .    STRUCTURE AT         378 
    212  0004H     2  CODMACDEFPT. . . .    WORD PARAMETER AUTOMATIC       213  216 
    153  00A1H     1  COL. . . . . . . .    BYTE       159  163  299  300  313  332  341  356
      9               CONSOLE. . . . . .    LITERALLY
    117  0000H        CONSTAT. . . . . .    PROCEDURE BYTE EXTERNAL(115) STACK=0000H
     17  0000H        COPY . . . . . . .    PROCEDURE EXTERNAL(57) STACK=0000H       204  227
                                             231  241 
      2               CR . . . . . . . .    LITERALLY       157  292 
    142  0000H        CREATEFILE . . . .    PROCEDURE BYTE EXTERNAL(124) STACK=0000H
    150  0000H        CRLF . . . . . . .    PROCEDURE EXTERNAL(127) STACK=0000H
    250  0092H     2  CURRENT. . . . . .    WORD       250  267  270  277 
    193  008EH     2  CURRENT. . . . . .    WORD       193  199  200  201 
    193  0000H     2  CURRENTCONTENT . .    WORD BASED(CURRENT)       200  201 
    250  0000H     2  CURRENTCONTENT . .    WORD BASED(CURRENT)       267 
    177  008CH     2  CURRENTPT. . . . .    WORD       177  178  179  180  182  184  188 
     10  0000H     1  CWD. . . . . . . .    BYTE EXTERNAL(27)         153 
     44  0000H     2  D. . . . . . . . .    WORD PARAMETER        45 
     47  0000H     2  D. . . . . . . . .    WORD PARAMETER        48 
     50  0000H     2  D. . . . . . . . .    WORD PARAMETER        51 
     53  0000H     2  D. . . . . . . . .    WORD PARAMETER        54 
     17  0000H     2  D. . . . . . . . .    WORD PARAMETER        18 
      2               DCL. . . . . . . .    LITERALLY
     10  0000H     1  DEC. . . . . . . .    BYTE EXTERNAL(10)         153 
     53  0000H        DECOUT . . . . . .    PROCEDURE EXTERNAL(69) STACK=0000H
    372  0003H     2  DEFPTR . . . . . .    WORD MEMBER(CODM)         378 
      3               DELETEDSYMB. . . .    LITERALLY
    133  0000H        DELETEFILE . . . .    PROCEDURE EXTERNAL(121) STACK=0000H
    225  0004H     2  DEST . . . . . . .    WORD PARAMETER AUTOMATIC       226  227 
     91  0000H     1  DEV. . . . . . . .    BYTE PARAMETER        92 
     29  0000H        DIGIT. . . . . . .    PROCEDURE BYTE EXTERNAL(61) STACK=0000H
    121  0000H     1  DISKNUMBER . . . .    BYTE PARAMETER       122 
     96  0000H     1  DISKREADERRTEXT. .    BYTE ARRAY(1) EXTERNAL(97)
     96  0000H     1  DISKWRITEERRTXT. .    BYTE ARRAY(1) EXTERNAL(98)
     10  0000H     1  DIV. . . . . . . .    BYTE EXTERNAL(32)         153 
    147  0000H     2  DMAADDRESS . . . .    WORD PARAMETER       148 
PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE  11


      3               DOUBLEDEFINED. . .    LITERALLY
      4               DWRD . . . . . . .    LITERALLY
      2               ELSEDO . . . . . .    LITERALLY
    106  0000H     2  ENDBUF . . . . . .    WORD EXTERNAL(110)        373 
      2               ENDCASE. . . . . .    LITERALLY
      2               ENDDO. . . . . . .    LITERALLY
      2               ENDFOREVER . . . .    LITERALLY
      2               ENDIF. . . . . . .    LITERALLY       163  186  316 
      2               ENDMODULE. . . . .    LITERALLY
      2               ENDOFFILE. . . . .    LITERALLY
    153  0082H     2  ENDOFSYMBTAB . . .    WORD PUBLIC          373  379 
      2               ENDPROC. . . . . .    LITERALLY
     96  0000H     1  ENDTEXT. . . . . .    BYTE ARRAY(1) EXTERNAL(92)
      2               ENDWHILE . . . . .    LITERALLY
    229  01CCH    23  ENTERATTRIBUTES. .    PROCEDURE PUBLIC STACK=000EH
    177  0000H   128  ENTRYTAB . . . . .    WORD BASED(PT3) ARRAY(64)      178 
    193  0000H   128  ENTRYTAB . . . . .    WORD BASED(PT2) ARRAY(64)      199 
     44  0000H        EQUAL. . . . . . .    PROCEDURE BYTE EXTERNAL(66) STACK=0000H       182
      3               ERROR. . . . . . .    LITERALLY
      2               FALSE. . . . . . .    LITERALLY       190  219  240  257  259 
    103  0000H     1  FCB. . . . . . . .    BYTE ARRAY(1) EXTERNAL(107)
    104  0000H     1  FCB16. . . . . . .    BYTE ARRAY(1) EXTERNAL(108)
    136  0000H     2  FCBADDRESS . . . .    WORD PARAMETER       137 
    139  0000H     2  FCBADDRESS . . . .    WORD PARAMETER       140 
    142  0000H     2  FCBADDRESS . . . .    WORD PARAMETER       143 
    127  0000H     2  FCBADDRESS . . . .    WORD PARAMETER       128 
    130  0000H     2  FCBADDRESS . . . .    WORD PARAMETER       131 
    124  0000H     2  FCBADDRESS . . . .    WORD PARAMETER       125 
    133  0000H     2  FCBADDRESS . . . .    WORD PARAMETER       134 
     23  0000H     2  FCBADR . . . . . .    WORD PARAMETER        24 
     23  0000H        FILEABORT. . . . .    PROCEDURE EXTERNAL(59) STACK=0000H
      8               FILEISTRUCTURE . .    LITERALLY
      8               FILEOSTRUCTURE . .    LITERALLY
     94  0000H        FILESETUP. . . . .    PROCEDURE BYTE EXTERNAL(87) STACK=0000H
     26  0000H        FILL . . . . . . .    PROCEDURE EXTERNAL(60) STACK=0000H       375 
     91  0000H     2  FILNAM . . . . . .    WORD PARAMETER        92 
     91  0000H     2  FILTYP . . . . . .    WORD PARAMETER        92 
    233  01E3H    27  FINDCODEMACRO. . .    PROCEDURE BYTE PUBLIC STACK=001EH
    221  019AH    27  FINDSYMBOL . . . .    PROCEDURE BYTE PUBLIC STACK=001EH
    265  0302H    26  FIXCHAIN . . . . .    PROCEDURE STACK=0002H          274  279 
      2               FOREVER. . . . . .    LITERALLY
      2               FORMFEED . . . . .    LITERALLY       363 
    153  0080H     2  FREEPT . . . . . .    WORD PUBLIC          193  194  200  201  202  203
                                             204  205  239  241  242  374 
    100  0000H     1  FUNC . . . . . . .    BYTE PARAMETER       101 
     97  0000H     1  FUNC . . . . . . .    BYTE PARAMETER        98 
    225  01B5H    23  GETATTRIBUTES. . .    PROCEDURE PUBLIC STACK=000EH
    168  00A3H     1  H. . . . . . . . .    BYTE       170  172  174 
    167  0024H    50  HASH . . . . . . .    PROCEDURE BYTE STACK=0006H          178  199 
    192  0006H     1  HEADLG . . . . . .    BYTE PARAMETER AUTOMATIC       193  194  204  205
    176  0004H     1  HEADLG . . . . . .    BYTE PARAMETER AUTOMATIC       177  182 
    328  00A9H     4  HELP . . . . . . .    BYTE ARRAY(4)        334  335 
     47  0000H        HEX1OUT. . . . . .    PROCEDURE EXTERNAL(67) STACK=0000H
     50  0000H        HEX2OUT. . . . . .    PROCEDURE EXTERNAL(68) STACK=0000H       334 
     10  0000H     1  HLT. . . . . . . .    BYTE EXTERNAL(36)         153 
    252  00A5H     1  I. . . . . . . . .    BYTE       255  256  258  260 
    168  00A2H     1  I. . . . . . . . .    BYTE       169  171  172 
PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE  12


    296  00A6H     1  I. . . . . . . . .    BYTE
    250  00A4H     1  I. . . . . . . . .    BYTE       282  283 
    371  00ADH     1  I. . . . . . . . .    BYTE       372 
     10  0000H     1  IAND . . . . . . .    BYTE EXTERNAL(16)         153 
     10  0000H     1  ICALL. . . . . . .    BYTE EXTERNAL(25)         153 
      3               IDENT. . . . . . .    LITERALLY
     10  0000H     1  IDIV . . . . . . .    BYTE EXTERNAL(40)         153 
     91  0000H        IFILESETUP . . . .    PROCEDURE EXTERNAL(86) STACK=0000H
     10  0000H     1  IMUL . . . . . . .    BYTE EXTERNAL(50)         153 
     10  0000H     1  IN . . . . . . . .    BYTE EXTERNAL(20)         153 
     10  0000H     1  INC. . . . . . . .    BYTE EXTERNAL(23)         153 
      8               INDEXREGBIT. . . .    LITERALLY
      8               INDEXREGCOUNT. . .    LITERALLY
     97  0000H     2  INFO . . . . . . .    WORD PARAMETER        98 
    100  0000H     2  INFO . . . . . . .    WORD PARAMETER       101 
     67  0000H        ININCLUDEBYTE. . .    PROCEDURE BYTE EXTERNAL(74) STACK=0000H
      2               INIT . . . . . . .    LITERALLY
     96  0000H     1  INITIALS . . . . .    BYTE ARRAY(1) EXTERNAL(90)
     10  0000H     1  INOT . . . . . . .    BYTE EXTERNAL(45)         153 
    269  031CH    48  INSERTALPHA. . . .    PROCEDURE STACK=0006H          286 
     65  0000H        INSOURCEBYTE . . .    PROCEDURE BYTE EXTERNAL(73) STACK=0000H
    145  0000H        INTERROGATEDISK. .    PROCEDURE BYTE EXTERNAL(125) STACK=0000H
     10  0000H     1  IOR. . . . . . . .    BYTE EXTERNAL(30)         153 
      8               IREGBIT. . . . . .    LITERALLY
      8               IREGCOUNT. . . . .    LITERALLY
     10  0000H     1  IRET . . . . . . .    BYTE EXTERNAL(48)         153 
     10  0000H     1  JA . . . . . . . .    BYTE EXTERNAL(9)          153 
     10  0000H     1  JAE. . . . . . . .    BYTE EXTERNAL(13)         153 
     10  0000H     1  JG . . . . . . . .    BYTE EXTERNAL(14)         153 
     10  0000H     1  JL . . . . . . . .    BYTE EXTERNAL(19)         153 
     10  0000H     1  JMP. . . . . . . .    BYTE EXTERNAL(35)         153 
     10  0000H     1  JMPF . . . . . . .    BYTE EXTERNAL(41)         153 
     10  0000H     1  JMPS . . . . . . .    BYTE EXTERNAL(53)         153 
     10  0000H     1  JNBE . . . . . . .    BYTE EXTERNAL(28)         153 
     10  0000H     1  JNE. . . . . . . .    BYTE EXTERNAL(26)         153 
     10  0000H     1  JO . . . . . . . .    BYTE EXTERNAL(22)         153 
      3               LAB. . . . . . . .    LITERALLY       344  368 
     10  0000H     1  LAHF . . . . . . .    BYTE EXTERNAL(24)         153 
                      LAST . . . . . . .    BUILTIN         282 
      7               LEFTBRACKET. . . .    LITERALLY
    226  0000H     2  LENGTH . . . . . .    WORD MEMBER(SYMB)         227 
    177  0003H     2  LENGTH . . . . . .    WORD MEMBER(SYMBHEAD)
    154  0003H     2  LENGTH . . . . . .    WORD MEMBER(SORTSYM)
    154  0003H     2  LENGTH . . . . . .    WORD MEMBER(ALPHASYM)
    230  0000H     2  LENGTH . . . . . .    WORD MEMBER(SYMB)         231 
    193  0003H     2  LENGTH . . . . . .    WORD MEMBER(SYMB)
    372  0003H     2  LENGTH . . . . . .    WORD MEMBER(SYMB)
    328  0003H     2  LENGTH . . . . . .    WORD MEMBER(X)
     10  0000H     1  LES. . . . . . . .    BYTE EXTERNAL(33)         153 
     32  0000H        LETTER . . . . . .    PROCEDURE BYTE EXTERNAL(62) STACK=0000H
      2               LF . . . . . . . .    LITERALLY       162  293 
    245  0008H     1  LG . . . . . . . .    BYTE PARAMETER AUTOMATIC       246  247 
    233  0008H     1  LG . . . . . . . .    BYTE PARAMETER AUTOMATIC       234  235 
    208  0008H     1  LG . . . . . . . .    BYTE PARAMETER AUTOMATIC       209  210 
    176  000CH     1  LG . . . . . . . .    BYTE PARAMETER AUTOMATIC       177  178  180  182
    221  0008H     1  LG . . . . . . . .    BYTE PARAMETER AUTOMATIC       222  223 
    237  0006H     1  LG . . . . . . . .    BYTE PARAMETER AUTOMATIC       238  239  241  242
PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE  13


    167  0006H     1  LG . . . . . . . .    BYTE PARAMETER AUTOMATIC       168  171 
    192  000CH     1  LG . . . . . . . .    BYTE PARAMETER AUTOMATIC       193  194  199  203
                                             204  205 
    212  0008H     1  LG . . . . . . . .    BYTE PARAMETER AUTOMATIC       213  214 
    320  0006H     1  LG . . . . . . . .    BYTE PARAMETER AUTOMATIC       321  322 
      2               LIT. . . . . . . .    LITERALLY         2    3    4    5    6    7    8
                                               9 
     10  0000H     1  LOCK . . . . . . .    BYTE EXTERNAL(37)         153 
     10  0000H     1  LOOPE. . . . . . .    BYTE EXTERNAL(54)         153 
     10  0000H     1  LOOPNE . . . . . .    BYTE EXTERNAL(11)         153 
     10  0000H     1  LOOPZ. . . . . . .    BYTE EXTERNAL(17)         153 
     96  0000H     1  MAKEERRTEXT. . . .    BYTE ARRAY(1) EXTERNAL(99)
         0000H        MEMORY . . . . . .    BYTE ARRAY(0)        153 
     97  0000H        MON1 . . . . . . .    PROCEDURE EXTERNAL(105) STACK=0000H
    100  0000H        MON2 . . . . . . .    PROCEDURE BYTE EXTERNAL(106) STACK=0000H
     10  0000H     1  MOV. . . . . . . .    BYTE EXTERNAL(46)         153 
     10  0000H     1  MOVS . . . . . . .    BYTE EXTERNAL(3)          153 
     10  0000H     1  MOVSB. . . . . . .    BYTE EXTERNAL(5)          153 
     10  0000H     1  MUL. . . . . . . .    BYTE EXTERNAL(42)         153 
     53  0000H     2  N. . . . . . . . .    WORD PARAMETER        54 
     50  0000H     2  N. . . . . . . . .    WORD PARAMETER        51 
     47  0000H     1  N. . . . . . . . .    BYTE PARAMETER        48 
     44  0000H     1  N. . . . . . . . .    BYTE PARAMETER        45 
     26  0000H     1  N. . . . . . . . .    BYTE PARAMETER        27 
     14  0000H     2  N. . . . . . . . .    WORD PARAMETER        15 
     17  0000H     1  N. . . . . . . . .    BYTE PARAMETER        18 
      3               NEGLECTED. . . . .    LITERALLY
    192  00B7H   153  NEW. . . . . . . .    PROCEDURE BYTE STACK=0014H          210  214  247
    237  01FEH    52  NEWCMBODY. . . . .    PROCEDURE BYTE PUBLIC STACK=000EH
    245  0232H    26  NEWCMNAME. . . . .    PROCEDURE BYTE PUBLIC STACK=001EH
    212  016BH    47  NEWMACRO . . . . .    PROCEDURE BYTE PUBLIC STACK=001EH
    208  0150H    27  NEWSYMBOL. . . . .    PROCEDURE BYTE PUBLIC STACK=001EH
    250  0094H     2  NEXT . . . . . . .    WORD       285  287 
    193  0000H     2  NEXT . . . . . . .    WORD MEMBER(SYMB)         200 
    177  0000H     2  NEXT . . . . . . .    WORD BASED(CURRENTPT)          188 
    154  0000H     2  NEXT . . . . . . .    WORD MEMBER(SORTSYM)      266  285 
    154  0000H     2  NEXT . . . . . . .    WORD MEMBER(ALPHASYM)          271  354 
    372  0000H     2  NEXT . . . . . . .    WORD MEMBER(SYMB)         376 
    372  0000H     2  NEXT . . . . . . .    WORD MEMBER(CODM)         378 
    177  0000H     2  NEXT . . . . . . .    WORD MEMBER(SYMBHEAD)
    328  0000H     2  NEXT . . . . . . .    WORD MEMBER(X)
      4               NIL. . . . . . . .    LITERALLY
     96  0000H     1  NO . . . . . . . .    BYTE EXTERNAL(89)
      8               NOOVERCOUNT. . . .    LITERALLY
      8               NOOVERRIDEBIT. . .    LITERALLY
      9               NULL . . . . . . .    LITERALLY       360 
      3               NUMBER . . . . . .    LITERALLY       348  366 
      7               OAND . . . . . . .    LITERALLY
      7               OEQ. . . . . . . .    LITERALLY
    226  0006H     2  OFFSET . . . . . .    WORD MEMBER(SYMB)
    193  0009H     2  OFFSET . . . . . .    WORD MEMBER(SYMB)
    177  0009H     2  OFFSET . . . . . .    WORD MEMBER(SYMBHEAD)
    372  0009H     2  OFFSET . . . . . .    WORD MEMBER(SYMB)
    154  0009H     2  OFFSET . . . . . .    WORD MEMBER(SORTSYM)
    154  0009H     2  OFFSET . . . . . .    WORD MEMBER(ALPHASYM)
    230  0006H     2  OFFSET . . . . . .    WORD MEMBER(SYMB)
    328  0009H     2  OFFSET . . . . . .    WORD MEMBER(X)       334 
PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE  14


      7               OGE. . . . . . . .    LITERALLY
      7               OGT. . . . . . . .    LITERALLY
      7               OLAST. . . . . . .    LITERALLY
      7               OLE. . . . . . . .    LITERALLY
      7               OLENGTH. . . . . .    LITERALLY
      7               OLT. . . . . . . .    LITERALLY
      7               OMOD . . . . . . .    LITERALLY
      7               ONE. . . . . . . .    LITERALLY
      7               ONOT . . . . . . .    LITERALLY
      7               OOFFSET. . . . . .    LITERALLY
      7               OOR. . . . . . . .    LITERALLY
     96  0000H     1  OPENERRTEXT. . . .    BYTE ARRAY(1) EXTERNAL(96)
    124  0000H        OPENFILE . . . . .    PROCEDURE BYTE EXTERNAL(118) STACK=0000H
     73  0000H        OPENHEX. . . . . .    PROCEDURE EXTERNAL(77) STACK=0000H
     71  0000H        OPENINCLUDE. . . .    PROCEDURE EXTERNAL(76) STACK=0000H
     75  0000H        OPENPRINT. . . . .    PROCEDURE EXTERNAL(78) STACK=0000H
    127  0000H        OPENROFILE . . . .    PROCEDURE BYTE EXTERNAL(119) STACK=0000H
     69  0000H        OPENSOURCE . . . .    PROCEDURE EXTERNAL(75) STACK=0000H
     77  0000H        OPENSYMBOL . . . .    PROCEDURE EXTERNAL(79) STACK=0000H
      8               OPERANDSTRUC . . .    LITERALLY
      3               OPERATOR . . . . .    LITERALLY
      7               OPTR . . . . . . .    LITERALLY
      7               OSEG . . . . . . .    LITERALLY
      7               OSHL . . . . . . .    LITERALLY
      7               OSHORT . . . . . .    LITERALLY
      7               OSHR . . . . . . .    LITERALLY
      7               OTYPE. . . . . . .    LITERALLY
     10  0000H     1  OUT. . . . . . . .    BYTE EXTERNAL(51)         153 
    155  0000H    36  OUTBYT . . . . . .    PROCEDURE STACK=0008H          292  293  309  323
                                             336  343 
    320  043DH    32  OUTBYTES . . . . .    PROCEDURE STACK=0010H          335  337  342  345
                                             347  349 
    291  034CH    17  OUTCRLF. . . . . .    PROCEDURE STACK=000CH          303  333  350  357
                                             365  367 
     56  0000H        OUTHEXBYTE . . . .    PROCEDURE EXTERNAL(70) STACK=0000H
     59  0000H        OUTPRINTBYTE . . .    PROCEDURE EXTERNAL(71) STACK=0000H
     62  0000H        OUTSYMBOLBYTE. . .    PROCEDURE EXTERNAL(72) STACK=0000H       165  314
                                             316  363 
     20  0000H        OUTTEXT. . . . . .    PROCEDURE EXTERNAL(58) STACK=0000H       196 
    153  0084H     2  OVERFLOWLIMIT. . .    WORD       194  239  379 
      7               OXOR . . . . . . .    LITERALLY
    327  0004H     2  P. . . . . . . . .    WORD PARAMETER AUTOMATIC       328  329  330  332
                                             334  337 
    320  0004H     2  P. . . . . . . . .    WORD PARAMETER AUTOMATIC       321  323  324 
     96  0000H     1  PAGETEXT . . . . .    BYTE ARRAY(1) EXTERNAL(91)
     96  0000H     1  PARERRTEXT . . . .    BYTE ARRAY(1) EXTERNAL(95)
     96  0000H     1  PASS0TEXT. . . . .    BYTE ARRAY(1) EXTERNAL(103)
     96  0000H     1  PASS1TEXT. . . . .    BYTE ARRAY(1) EXTERNAL(104)
      6               PCODEMACRO . . . .    LITERALLY
      6               PCSEG. . . . . . .    LITERALLY
      6               PDB. . . . . . . .    LITERALLY
      6               PDBIT. . . . . . .    LITERALLY
      6               PDD. . . . . . . .    LITERALLY
      6               PDSEG. . . . . . .    LITERALLY
      6               PDW. . . . . . . .    LITERALLY
      6               PEJECT . . . . . .    LITERALLY
      6               PEND . . . . . . .    LITERALLY
PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE  15


      6               PENDIF . . . . . .    LITERALLY
      6               PENDM. . . . . . .    LITERALLY
      6               PEQU . . . . . . .    LITERALLY
      6               PESEG. . . . . . .    LITERALLY
      6               PIF. . . . . . . .    LITERALLY
      6               PIFLIST. . . . . .    LITERALLY
      6               PINCLUDE . . . . .    LITERALLY
      6               PLIST. . . . . . .    LITERALLY
      6               PMODRM . . . . . .    LITERALLY
      6               PNOIFLIST. . . . .    LITERALLY
      6               PNOLIST. . . . . .    LITERALLY
      6               PNOSEGFIX. . . . .    LITERALLY
     10  0000H     1  POP. . . . . . . .    BYTE EXTERNAL(43)         153 
     10  0000H     1  POPF . . . . . . .    BYTE EXTERNAL(49)         153 
      6               PORG . . . . . . .    LITERALLY
      6               PPAGESIZE. . . . .    LITERALLY
      6               PPAGEWIDTH . . . .    LITERALLY
      6               PRB. . . . . . . .    LITERALLY
      6               PRELB. . . . . . .    LITERALLY
      6               PRELW. . . . . . .    LITERALLY
      9               PRINTER. . . . . .    LITERALLY       306 
    327  045DH    96  PRINTSYMB. . . . .    PROCEDURE STACK=0016H          353 
    295  035DH   124  PRINTSYMBOLS . . .    PROCEDURE STACK=001AH          364  366  368 
      2               PROC . . . . . . .    LITERALLY        11   14   35   38   47   50   53
                                              56   59   62   65   67   69   71   73   75   77
                                              79   81   83   85   87   89   91   94  155  167
                                             176  192  208  212  221  225  229  233  237  245
                                             291  295  297  320  327  359  370 
      6               PRS. . . . . . . .    LITERALLY
      6               PRW. . . . . . . .    LITERALLY
      6               PSEGFIX. . . . . .    LITERALLY
      3               PSEUDO . . . . . .    LITERALLY
      6               PSIMFORM . . . . .    LITERALLY
      6               PSSEG. . . . . . .    LITERALLY
    167  0004H     2  PT . . . . . . . .    WORD PARAMETER AUTOMATIC       168  172 
     26  0000H     2  PT . . . . . . . .    WORD PARAMETER        27 
    176  000AH     2  PT1. . . . . . . .    WORD PARAMETER AUTOMATIC       177  178  182 
    192  000AH     2  PT1. . . . . . . .    WORD PARAMETER AUTOMATIC       193  199  204 
    192  0008H     2  PT2. . . . . . . .    WORD PARAMETER AUTOMATIC       193  199 
    176  0008H     2  PT2. . . . . . . .    WORD PARAMETER AUTOMATIC       177  184 
    192  0004H     2  PT3. . . . . . . .    WORD PARAMETER AUTOMATIC       193  202 
    176  0006H     2  PT3. . . . . . . .    WORD PARAMETER AUTOMATIC       177  178 
      6               PTITLE . . . . . .    LITERALLY
    237  0004H     2  PTR. . . . . . . .    WORD PARAMETER AUTOMATIC       238  241 
     10  0000H     1  PUSH . . . . . . .    BYTE EXTERNAL(0)          153 
     10  0000H     1  PUSHF. . . . . . .    BYTE EXTERNAL(4)          153 
      5               RAH. . . . . . . .    LITERALLY
      5               RAL. . . . . . . .    LITERALLY
      5               RAX. . . . . . . .    LITERALLY
      5               RBH. . . . . . . .    LITERALLY
      5               RBL. . . . . . . .    LITERALLY
      5               RBP. . . . . . . .    LITERALLY
      5               RBX. . . . . . . .    LITERALLY
      5               RCH. . . . . . . .    LITERALLY
      5               RCL. . . . . . . .    LITERALLY
      5               RCS. . . . . . . .    LITERALLY
      5               RCX. . . . . . . .    LITERALLY
PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE  16


      5               RDH. . . . . . . .    LITERALLY
      5               RDI. . . . . . . .    LITERALLY
      5               RDL. . . . . . . .    LITERALLY
      5               RDS. . . . . . . .    LITERALLY
      5               RDX. . . . . . . .    LITERALLY
    109  0000H        READCONSOLE. . . .    PROCEDURE BYTE EXTERNAL(112) STACK=0000H
    136  0000H        READRECORD . . . .    PROCEDURE BYTE EXTERNAL(122) STACK=0000H
      2               REENT. . . . . . .    LITERALLY
      3               REG. . . . . . . .    LITERALLY
     10  0000H     1  REPNZ. . . . . . .    BYTE EXTERNAL(12)         153 
     10  0000H     1  REPZ . . . . . . .    BYTE EXTERNAL(1)          153 
      5               RES. . . . . . . .    LITERALLY
    233  0004H     2  RESULT . . . . . .    WORD PARAMETER AUTOMATIC       234  235 
    221  0004H     2  RESULT . . . . . .    WORD PARAMETER AUTOMATIC       222  223 
     10  0000H     1  RET. . . . . . . .    BYTE EXTERNAL(39)         153 
    213  0090H     2  RETPT. . . . . . .    WORD       213  214  216 
    208  0004H     2  RETURNPT . . . . .    WORD PARAMETER AUTOMATIC       209  210 
    245  0004H     2  RETURNPTR. . . . .    WORD PARAMETER AUTOMATIC       246  247 
     81  0000H        REWINDSOURCE . . .    PROCEDURE EXTERNAL(81) STACK=0000H
      7               RIGHTBRACKET . . .    LITERALLY
      5               RSI. . . . . . . .    LITERALLY
      5               RSP. . . . . . . .    LITERALLY
      5               RSS. . . . . . . .    LITERALLY
     44  0000H     2  S. . . . . . . . .    WORD PARAMETER        45 
     17  0000H     2  S. . . . . . . . .    WORD PARAMETER        18 
     10  0000H     1  SAR. . . . . . . .    BYTE EXTERNAL(34)         153 
    176  0056H    97  SEARCH . . . . . .    PROCEDURE BYTE STACK=0014H          223  235 
      8               SEGMBIT. . . . . .    LITERALLY
      8               SEGMCOUNT. . . . .    LITERALLY
    230  0004H     2  SEGMENT. . . . . .    WORD MEMBER(SYMB)
    226  0004H     2  SEGMENT. . . . . .    WORD MEMBER(SYMB)
    193  0007H     2  SEGMENT. . . . . .    WORD MEMBER(SYMB)
    177  0007H     2  SEGMENT. . . . . .    WORD MEMBER(SYMBHEAD)
    154  0007H     2  SEGMENT. . . . . .    WORD MEMBER(SORTSYM)
    154  0007H     2  SEGMENT. . . . . .    WORD MEMBER(ALPHASYM)
    372  0007H     2  SEGMENT. . . . . .    WORD MEMBER(SYMB)
    328  0007H     2  SEGMENT. . . . . .    WORD MEMBER(X)
      8               SEGTYPEBIT . . . .    LITERALLY
      8               SEGTYPECOUNT . . .    LITERALLY
    121  0000H        SELECTDISK . . . .    PROCEDURE EXTERNAL(117) STACK=0000H
    147  0000H        SETDMAADDRESS. . .    PROCEDURE EXTERNAL(126) STACK=0000H
    230  0003H     1  SFLAG. . . . . . .    BYTE MEMBER(SYMB)
    226  0003H     1  SFLAG. . . . . . .    BYTE MEMBER(SYMB)
    193  0006H     1  SFLAG. . . . . . .    BYTE MEMBER(SYMB)
    177  0006H     1  SFLAG. . . . . . .    BYTE MEMBER(SYMBHEAD)
    154  0006H     1  SFLAG. . . . . . .    BYTE MEMBER(SORTSYM)
    154  0006H     1  SFLAG. . . . . . .    BYTE MEMBER(ALPHASYM)
    372  0006H     1  SFLAG. . . . . . .    BYTE MEMBER(SYMB)
    328  0006H     1  SFLAG. . . . . . .    BYTE MEMBER(X)
                      SIZE . . . . . . .    BUILTIN         375 
    193  0002H     1  SLENGTH. . . . . .    BYTE MEMBER(SYMB)         203 
    177  0002H     1  SLENGTH. . . . . .    BYTE MEMBER(SYMBHEAD)          180 
    154  0002H     1  SLENGTH. . . . . .    BYTE MEMBER(SORTSYM)      255 
    154  0002H     1  SLENGTH. . . . . .    BYTE MEMBER(ALPHASYM)          256 
    372  0002H     1  SLENGTH. . . . . .    BYTE MEMBER(CODM)
    372  0002H     1  SLENGTH. . . . . .    BYTE MEMBER(SYMB)
    328  0002H     1  SLENGTH. . . . . .    BYTE MEMBER(X)       332  337 
PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE  17


    252  0000H     1  SORTNAME . . . . .    BYTE BASED(SORTNAMEPTR) ARRAY(1)         258  260
    252  0096H     2  SORTNAMEPTR. . . .    WORD       252  253  258  260 
    154  0000H    12  SORTSYM. . . . . .    STRUCTURE BASED(SORTSYMPTR)         255  266  267
                                             285 
    249  024CH    68  SORTSYMBOLS. . . .    PROCEDURE STACK=000AH          362 
    154  008AH     2  SORTSYMPTR . . . .    WORD       154  253  255  266  267  283  284  285
                                             287 
    229  0004H     2  SOURCE . . . . . .    WORD PARAMETER AUTOMATIC       230  231 
      2               SPACE. . . . . . .    LITERALLY       309  336  343 
      3               SPEC . . . . . . .    LITERALLY
     10  0000H     1  STI. . . . . . . .    BYTE EXTERNAL(44)         153 
    233  0006H     2  STRADR . . . . . .    WORD PARAMETER AUTOMATIC       234  235 
    221  0006H     2  STRADR . . . . . .    WORD PARAMETER AUTOMATIC       222  223 
      3               STRING . . . . . .    LITERALLY
      2               STRUC. . . . . . .    LITERALLY       154  177  193  226  230  328  372
                                            
    230  0002H     1  STYPE. . . . . . .    BYTE MEMBER(SYMB)
    226  0002H     1  STYPE. . . . . . .    BYTE MEMBER(SYMB)
    193  0005H     1  STYPE. . . . . . .    BYTE MEMBER(SYMB)
    177  0005H     1  STYPE. . . . . . .    BYTE MEMBER(SYMBHEAD)
    154  0005H     1  STYPE. . . . . . .    BYTE MEMBER(SORTSYM)
    154  0005H     1  STYPE. . . . . . .    BYTE MEMBER(ALPHASYM)
    372  0005H     1  STYPE. . . . . . .    BYTE MEMBER(SYMB)
    328  0005H     1  STYPE. . . . . . .    BYTE MEMBER(X)       330 
      1  0000H        SYMB . . . . . . .    PROCEDURE STACK=0000H
    230  0000H     9  SYMB . . . . . . .    STRUCTURE BASED(SYMBADR)       231 
    226  0000H     9  SYMB . . . . . . .    STRUCTURE BASED(SYMBADR)       227 
    193  0000H    12  SYMB . . . . . . .    STRUCTURE BASED(FREEPT)        200  203 
    372  00ADH    12  SYMB . . . . . . .    STRUCTURE AT         376 
    229  0006H     2  SYMBADR. . . . . .    WORD PARAMETER AUTOMATIC       230  231 
    225  0006H     2  SYMBADR. . . . . .    WORD PARAMETER AUTOMATIC       226  227 
    153  0000H   128  SYMBENTRY. . . . .    WORD ARRAY(64)       210  223  282  283  375 
     96  0000H     1  SYMBFULLERRTEXT. .    BYTE ARRAY(1) EXTERNAL(101)         196 
    177  0000H    12  SYMBHEAD . . . . .    STRUCTURE BASED(CURRENTPT)          180 
    370  04ECH    74  SYMBINIT . . . . .    PROCEDURE PUBLIC STACK=000AH
      3               SYMBOL . . . . . .    LITERALLY
    152  0000H     1  SYMBOLDEVICE . . .    BYTE EXTERNAL(128)        306  360 
      8               SYMBOLHEAD . . . .    LITERALLY       154  177  193  328  372 
    153  009EH     1  SYMBOLHEADLG . . .    BYTE       210  223  253  254  329  376  377  379
      8               SYMBOLSTRUC. . . .    LITERALLY       226  230 
    177  0000H     2  SYMBPTR. . . . . .    WORD BASED(PT2)      184 
    153  0000H     1  SYMBTAB. . . . . .    BYTE ARRAY(1) AT          374 
    359  04BDH    47  SYMBTERMINATE. . .    PROCEDURE PUBLIC STACK=001EH
    193  0000H     2  SYMPTR . . . . . .    WORD BASED(PT3)      202 
    107  0000H        SYSTEMRESET. . . .    PROCEDURE EXTERNAL(111) STACK=0000H      197 
     20  0000H     2  T. . . . . . . . .    WORD PARAMETER        21 
      2               TAB. . . . . . . .    LITERALLY       314  316 
    105  0000H     1  TBUFF. . . . . . .    BYTE ARRAY(1) EXTERNAL(109)
     23  0000H     2  TEXTADR. . . . . .    WORD PARAMETER        24 
      2               THENDO . . . . . .    LITERALLY       157  180  182  194  214  272  301
                                             306  330 
      2               TRUE . . . . . . .    LITERALLY       185  206  217  243  261  263 
    295  009AH     1  TYP. . . . . . . .    BYTE PARAMETER       296  330  344  346  348 
      8               TYPEBIT. . . . . .    LITERALLY
     11  0000H        TYPECALC . . . . .    PROCEDURE BYTE EXTERNAL(55) STACK=0000H
      8               TYPECOUNT. . . . .    LITERALLY
      3               UDEFSYMB . . . . .    LITERALLY
PL/M-86 COMPILER    SYMBOL TABLE MODULE                                          10/5/81    PAGE  18


     41  0000H        UPPER. . . . . . .    PROCEDURE BYTE EXTERNAL(65) STACK=0000H
     96  0000H     1  USBREAKTEXT. . . .    BYTE ARRAY(1) EXTERNAL(102)
     96  0000H     1  USEFACTOR. . . . .    BYTE ARRAY(1) EXTERNAL(93)
     11  0000H     2  VAL. . . . . . . .    WORD PARAMETER        12 
      9               VALIDDISK. . . . .    LITERALLY
      3               VARIABLE . . . . .    LITERALLY       346  364 
    119  0000H        VERSION. . . . . .    PROCEDURE WORD EXTERNAL(116) STACK=0000H
      4               WRD. . . . . . . .    LITERALLY
     14  0000H        WRDTEST. . . . . .    PROCEDURE BYTE EXTERNAL(56) STACK=0000H
    111  0000H        WRITECONSOLE . . .    PROCEDURE EXTERNAL(113) STACK=0000H
    114  0000H        WRITELIST. . . . .    PROCEDURE EXTERNAL(114) STACK=0000H
    139  0000H        WRITERECORD. . . .    PROCEDURE BYTE EXTERNAL(123) STACK=0000H
    328  0000H    12  X. . . . . . . . .    STRUCTURE BASED(P)        330  332  334  337 
    298  00A7H     1  X. . . . . . . . .    BYTE       299  301 
     10  0000H     1  XCHG . . . . . . .    BYTE EXTERNAL(38)         153 
     10  0000H     1  XLAT . . . . . . .    BYTE EXTERNAL(52)         153 
    298  00A8H     1  Y. . . . . . . . .    BYTE       300  308  313  315 
     96  0000H     1  YES. . . . . . . .    BYTE EXTERNAL(88)



MODULE INFORMATION:

     CODE AREA SIZE     = 0536H   1334D
     CONSTANT AREA SIZE = 009AH    154D
     VARIABLE AREA SIZE = 00AEH    174D
     MAXIMUM STACK SIZE = 001EH     30D
     946 LINES READ
     0 PROGRAM ERROR(S)

END OF PL/M-86 COMPILATION
