Annotation of coherent/b/bin/as/asme.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * 80386 assembler externs.
                      3:  */
                      4: 
                      5: /* main */
                      6: void dodefs();         /* process -D and -E options at each pass */
                      7: 
                      8: /* getargs */
                      9: extern int optix;      /* reset to 1 to reporcess */
                     10: extern char *optarg;   /* Global argument pointer */
                     11: extern int getargs();  /* fancy get arguments */
                     12: 
                     13: /* hash */
                     14: unsigned short hash();
                     15: 
                     16: /* symbol handlers */
                     17: void symInit();                /* init symbol tables */
                     18: unsigned short symGlob(); /* if -g mark new symbols global */
                     19: void symDump();                /* dump string table if coff output */
                     20: sym *symLookUp();      /* look up a symbol and maybe create one */
                     21: short  opLookUp();     /* look up an opcode on the symbol table */
                     22: void  opDelete();      /* remove an entry form the opcode table */
                     23: macro *macLookUp();    /* look up a macro */
                     24: void defMac();         /* create a new macro name */
                     25: 
                     26: /* ind.c */
                     27: void indBra();         /* indef branch */
                     28: int  indPass();                /* Do we need another pass ? */
                     29: 
                     30: /* c_out.c */
                     31: void segment();
                     32: void section();
                     33: 
                     34: /* common subs */
                     35: FILE *xopen();                 /* open a file or die in the attempt */
                     36: char *scpy();                  /* make a new copy of a string */
                     37: char *gcpy();                  /* copy into tmp space */
                     38: void yyerror();                        /* display error msg */
                     39: void fatal();                  /* put a msg and die */
                     40: char *trim();                  /* trim trailing spaces and tabs */
                     41: short  countList();            /* count things with next or prev ptrs */
                     42: char *memset();
                     43: void freeLevel();              /* pop a logic level */
                     44: void newLevel();               /* push a logic level */
                     45: char *parmFind();              /* infd a parm by number */
                     46: void doShift();                        /* shift parms by 1 */
                     47: char *lookList();              /* get a parm by name */
                     48: void fileOpen();               /* open a file & creat ctl block */
                     49: void buildlab();               /* build a label */
                     50: void labelIgnored();           /* if label given print error message */
                     51: 
                     52: /* space.c functions */
                     53: void freeList();       /* free list connected by next ptrs */
                     54: char *alloc();         /* get space or die */
                     55: void initStor();       /* init sotorage functions */
                     56: char *galloc();                /* alloc and remember it */
                     57: void umark();          /* forget a galloc() */
                     58: void freel();          /* free all galloc()ed areas not umarked */
                     59: void umList();         /* umark a list */
                     60: expr *xalloc();                /* get an expr block */
                     61: sym *copySym();                /* make a copy of a sym block */
                     62: data *gitem();         /* get misc data item space */
                     63: 
                     64: /* common data */
                     65: extern char bswitch;   /* reverse bracket sense */
                     66: extern char fswitch;   /* reverse order of operands */
                     67: extern char gswitch;   /* make symbols of type S_UNDEF global */
                     68: extern char lswitch;   /* print a listing */
                     69: extern char mlistsw;   /* print macro expansion */
                     70: extern char pswitch;   /* print headers */
                     71: extern char rswitch;   /* don't use % on register names */
                     72: extern char Qswitch;   /* shut down all messages */
                     73: extern char wswitch;   /* shut down as warnings */
                     74: extern char xswitch;   /* don't output local symbols in object */
                     75: extern char nswitch;   /* no fixes for chip errata */
                     76: extern char Xswitch;   /* don't output local .L symbols in object */
                     77: extern char alignon;   /* automatically align data objects */
                     78: extern char alignonX;
                     79: 
                     80: extern short errCt;    /* count of errors */
                     81: extern short kind;     /* the kind of the current opcode */
                     82: extern short lastToken;        /* last token returned to yacc */
                     83: extern short longMode; /* Which Mode current 386 or 286 */
                     84: extern unsigned lflags; /* Addressing mode flags */
                     85: extern char *title;    /* title header */
                     86: extern char *dTime;    /* time of compile */
                     87: extern char *lastL;    /* last line read for printing */
                     88: extern short lineSize; /* listing line length */
                     89: extern short linect;   /* line counter */
                     90: extern short nlpp;     /* lines per page */
                     91: extern short pass;     /* current pass number */
                     92: extern int statement;  /* statement number */
                     93: extern inpctl *inpc;   /* file stack */
                     94: extern macro *inMacDef;        /* in macro definition */
                     95: extern macro *macFound;        /* the macro found by lex.c */
                     96: extern macctl *macExp; /* in macro expansion */
                     97: extern macctl *logic;  /* logical level of control */
                     98: extern macctl *trueMac;        /* get the real macro being expanded */
                     99: extern macline *lastDef;/* last macro line defined */
                    100: extern short macNo;    /* macro expansion number */
                    101: extern short defCt;    /* number of defines */
                    102: extern char *outName;  /* name of output file */
                    103: extern char lswitchX;  /* storage for lswitch from -l */
                    104: extern char fswitchX;  /* storage for fswitch from -f */
                    105: extern char bswitchX;  /* storage for bswitch from -b */
                    106: extern char wswitchX;  /* storage for wswitch from -w */
                    107: extern char nswitchX;  /* storage for nswitch from -n */
                    108: extern short pcnt, bcnt; /* count op parens and brackets + left - right */
                    109: extern short choices;   /* number of ways to do this op */
                    110: extern char xpass;     /* set if a branch changes size */
                    111: extern long showSym;
                    112: extern FILE *errdev;   /* Where to put out errors */
                    113: 
                    114: /* from libs */
                    115: char *strcpy();
                    116: char *strstr();
                    117: char *strchr();
                    118: char *strrchr();
                    119: char *memcpy();
                    120: char *ctime();
                    121: char *realloc();
                    122: long atol();
                    123: long time();
                    124: double strtod();
                    125: void free();
                    126: void exit();
                    127: 
                    128: /* tables from symtab.c */
                    129: extern symt typTab[];
                    130: extern char charLump[];
                    131: extern opc prefTab[];
                    132: extern nhash hashCodes[];
                    133: extern psym symtab[];
                    134: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.