home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / emulator / unix / z80pack / z80asm / z80aglb.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-07-09  |  2.8 KB  |  65 lines

  1. /*
  2.  *      Z80 - Assembler
  3.  *      Copyright (C) 1987-1992 by Udo Munk
  4.  *
  5.  *    History:
  6.  *    17-SEP-1987 Development under Digital Research CP/M 2.2
  7.  *      28-JUN-1988 Switched to Unix System V.3
  8.  */
  9.  
  10. /*
  11.  *    Dieses Modul enthaelt alle globalen Variablen des
  12.  *      Assemblers, ausser der CPU spezifischen Tabellen.
  13.  */
  14.  
  15. #include <stdio.h>
  16. #include "z80a.h"
  17.  
  18. char *infiles[MAXFN],        /* Filenamen aller Quellen */
  19.      objfn[LENFN + 1],        /* Filename des Object Code */
  20.      lstfn[LENFN + 1],        /* Filename des Listing */
  21.      *srcfn,                    /* Filename der gerade bearbeiteten Quelle */
  22.      line[MAXLINE],        /* Puffer fuer eine Zeile Quelle */
  23.      tmp[MAXLINE],              /* termoraerer Puffer */
  24.      label[SYMSIZE+1],        /* Puffer fuer extrahiertes Label */
  25.      opcode[MAXLINE],        /* Puffer fuer extrahierten Op-Code */
  26.      operand[MAXLINE],          /* Puffer fuer extrahierten Operanden */
  27.      ops[OPCARRAY],             /* Puffer fuer generierten Op-Code */
  28.      title[MAXLINE];            /* Puffer fuer Titel der Quelle */
  29.  
  30. int  list_flag,            /* Flag fuer Option -l */
  31.      sym_flag,                  /* Flag fuer Option -s */
  32.      ver_flag,                  /* Flag fuer Option -v */
  33.      pc,                        /* Programm-Counter */
  34.      pass,            /* Momentaner Durchlauf */
  35.      iflevel,                   /* aktuelle Verschachtelungstiefe der IF's */
  36.      gencode = 1,               /* Flag fuer conditional Codegenerierung */
  37.      errors,                    /* Zaehler fuer errors */
  38.      errnum,                    /* Fehler Nummer in Pass 2 */
  39.      sd_flag,                   /* List-Flag fuer PSEUDO Op-Codes */
  40.                 /* = 0: Adresse aus <val>, Daten aus <ops> */
  41.                 /* = 1: Adresse aus <sd_val>, Daten aus <ops> */
  42.                 /* = 2: keine Adresse, Daten aus <ops> */
  43.                 /* = 3: Adresse aus <sd_val>, keine Daten */
  44.                 /* = 4: ganze Zeile unterdruecken */
  45.      sd_val,                    /* Ausgabewert fuer PSEUDO Op-Codes */
  46.      prg_adr,                   /* Startadresse des Programms */
  47.      prg_flag,                  /* Flag fuer prg_adr gueltig */
  48.      out_form = OUTDEF,         /* Format der Objektdatei */
  49.      symsize;                   /* Groesse von symarray */
  50.  
  51. FILE *srcfp,            /* Filepointer fuer aktuelle Quelle */
  52.      *objfp,            /* Filepointer fuer Object Code */
  53.      *lstfp,            /* Filepointer fuer Listing */
  54.      *errfp;            /* Filepointer fuer Fehler */
  55.                 /* abhaengig von -l lstfp oder stdout */
  56.  
  57. unsigned c_line,        /* aktuelle Zeile der aktuellen Quelle */
  58.      s_line,                /* Zeilenzaehler fuers Listing */
  59.      p_line,                /* Anzahl gedruckter Zeilen auf der Seite */
  60.      ppl = PLENGTH,         /* Anzahl Zeilen/Seite */
  61.      page;                  /* Seitenzaehler fuer Listing */
  62.  
  63. struct sym *symtab[HASHSIZE],   /* Symboltabelle */
  64.        **symarray;          /* sortierte Symboltabelle */
  65.