$nolist

/*

  modified  3/28/81  R. Silberstein
  modified  4/16/81  R. Silberstein
  modified  7/24/81  R. Silberstein
  modified  9/2/81   R. Silberstein

*/

dcl
pass            byte external,   /* current pass no, 1,2,3 */

        /* address counters */

cip             addr external,   /* current instruction pointer */
csegtype        byte external,   /* current segment type, code,data,
                                  stack or extra data */
csegvalue       addr external,   /* current segment value */
csegspec        byte external,   /* true if segment value specified */

escip           addr external,   /* current ES instruction pointer */
cscip           addr external,   /* current CS instruction pointer */
sscip           addr external,   /* current SS instruction pointer */
dscip           addr external,   /* current DS instruction pointer */
curcseg         addr external,   /* current code segment value */
curdseg         addr external,   /* current data segment value */
cursseg         addr external,   /* current stack segment value */
cureseg         addr external,   /* current extra segment value */
cspec           byte external,   /* true if code segm. value given */
dspec           byte external,   /* true if data segm. value given */
sspec           byte external,   /* true if stack segment given */
espec           byte external,   /* true if extra segment given */


        /* print output parameters */

print$on        byte external,   /* on/off flag */
printswitchoff  byte external,   /* set/reset by NOLIST/LIST */
IFLIST          BYTE EXTERNAL,   /* SET/RESET BY IFLIST/NOIFLIST */
maxcol          byte external,   /* pagewidth */
sourcename (12) byte external,   /* source file name */
savesource (12) byte external,   /* source file during INLUDE file */
printdevice     byte external,   /* printfile device */
SYMBOLDEVICE    BYTE EXTERNAL,    /* SYMBOL FILE DEVICE */
title (30)      byte external,   /* user specified program title */
pagesize        byte external,   /* page size */
simform         byte external,   /* true if formfeed simulation */
sourcebuf (80)  byte external,   /* source input to be printed */
sourceptr       byte external,   /* source buffer pointer */
prefix (240)    byte external,   /* prefix to source line */
prefixptr       byte external,   /* pointer to prefix buffer */
ABSADDR (4)     BYTE EXTERNAL,   /* ABSOLUTE ADDRESS FIELD */

        /* io error status */

errors          addr external,       /* counts no of errors */

        /* scanner variables: */

token   struc(                  /* actual token scanned */
        type    byte,              /* token type, legal values :
                                        reg       - register
                                        pseudo    - pseudo code
                                        string    - text string
                                        spec      - special character
                                        number    - number
                                        operator  - aritmetic operator
                                        ident     - identifier  */

        descr   byte,              /* token description, legal values:
                                        nil       - no specification
                                        byte      - 8 bit type
                                        word      - 16 bit type
                                        dword     - 32 bit type  */

        value   addr) external,      /* token value  */
nextch          byte external,    /* next input character */
acclen         byte external,     /* accumulator length */
accum(80)       byte external,    /* actual token scanned */
accumsave(80)   byte external,
acclensave      byte external,
eofset          byte external,    /* true if end-of-file found */

      /* Mischellaneous variables: */

intel$hex$on    byte external,    /* true if INTEL hex format */
noerror         byte external,    /* codemacro decoding errorflag */
errorprinted    byte external,    /* true if an error is printed */
firstmacroptr   address external, /* pointer at first codemacro */
macroptr        address external, /* current pointer within macros */
fullsymbtab     byte external,    /* full if symboltable is full */
include$on      byte external,    /* true if INCLUDEfile input */
IFLEVEL         BYTE EXTERNAL,    /* IF-ENDIF NESTING LEVEL */
currentsymbol   symbolstruc       /* current scanned symbol */
                external,
symbtabadr      address external, /* pointer at symbol in table */
nooper          byte    external, /* no of instruction operands */
operands(4)     operandstruc      /* instruction operands,max 4 */
                        external,
codemacroptr    address external, /* pointer to found codemacro */
help(5)         byte    external, /* ascii number scratch area */
i               byte    external, /* scratch variable */
default$drive   byte    external, /* default disk drive */
include$default byte    external, /* default drive for include file */
codemacro$flag  byte    external; /* true if building a codemacro */

globalinit: procedure external;  /* initiate some globals */
end globalinit;


$list
