home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 332.lha / DAsm_v2.12 / src / globals.c < prev    next >
C/C++ Source or Header  |  1989-12-27  |  3KB  |  84 lines

  1.  
  2. /*
  3.  *  GLOBALS.C
  4.  *
  5.  *  (c)Copyright 1988, Matthew Dillon, All Rights Reserved.
  6.  *
  7.  */
  8.  
  9. #include "asm.h"
  10.  
  11. SYMBOL    *SHash[SHASHSIZE];  /*    symbol hash table   */
  12. MNE    *MHash[MHASHSIZE];  /*    mnemonic hash table */
  13. INCFILE *Incfile;        /*    include file stack  */
  14. REPLOOP *Reploop;        /*    repeat loop stack   */
  15. SEGMENT *Seglist;        /*    segment list        */
  16. SEGMENT *Csegment;        /*    current segment     */
  17. IFSTACK *Ifstack;        /*    IF/ELSE/ENDIF stack */
  18. ubyte    *Av[256];        /*    up to 256 arguments */
  19. ubyte    Avbuf[512];
  20. ubyte    MsbOrder = 1;
  21. uword    Mnext;
  22. char    Inclevel;
  23. uword    Mlevel;
  24. ulong    Localindex;        /*    to generate local variables */
  25. ulong    Processor;
  26. ubyte    Xdebug, Xtrace;
  27. ubyte    Outputformat;
  28. ulong    Redo, Redo_why;
  29. ulong    Redo_eval;        /*    infinite loop detection only    */
  30. char    ListMode = 1;
  31. ulong    CheckSum;        /*    output data checksum        */
  32.  
  33.  
  34. ubyte    F_format = 1;
  35. ubyte    F_verbose;
  36. char    *F_outfile = "a.out";
  37. char    *F_listfile;
  38. char    *F_symfile;
  39. char    *F_temppath = "ram:";
  40. FILE    *FI_listfile;
  41. FILE    *FI_temp;
  42. ubyte    Fisclear;
  43. ulong    Plab, Pflags;
  44.  
  45. uword    Adrbytes[]  = { 1, 2, 3, 2, 2, 2, 3, 3, 3, 2, 2, 2, 3, 1, 1, 2, 3 };
  46. uword    Cvt[]        = { 0, 2, 0, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0 };
  47. uword    Opsize[]    = { 0, 1, 2, 1, 1, 1, 2, 2, 2, 2, 1, 1, 2, 0, 0, 1, 1 };
  48.  
  49. MNE Ops[] = {
  50.     { NULL, v_list    , "list",           0,      0 },
  51.     { NULL, v_include , "include",        0,      0 },
  52.     { NULL, v_seg     , "seg",            0,      0 },
  53.     { NULL, v_hex     , "hex",            0,      0 },
  54.     { NULL, v_err     , "err",            0,      0 },
  55.     { NULL, v_dc      , "dc",             0,      0 },
  56.     { NULL, v_ds      , "ds",             0,      0 },
  57.     { NULL, v_dc      , "dv",             0,      0 },
  58.     { NULL, v_end     , "end",            0,      0 },
  59.     { NULL, v_trace   , "trace",          0,      0 },
  60.     { NULL, v_org     , "org",            0,      0 },
  61.     { NULL, v_rorg    , "rorg",           0,      0 },
  62.     { NULL, v_rend    , "rend",           0,      0 },
  63.     { NULL, v_align   , "align",          0,      0 },
  64.     { NULL, v_subroutine, "subroutine",   0,      0 },
  65.     { NULL, v_equ     , "equ",            0,      0 },
  66.     { NULL, v_eqm     , "eqm",            0,      0 },
  67.     { NULL, v_set     , "set",            0,      0 },
  68.     { NULL, v_macro   , "mac",            MF_IF,  0 },
  69.     { NULL, v_endm    , "endm",           MF_ENDM,0 },
  70.     { NULL, v_mexit   , "mexit",          0,      0 },
  71.     { NULL, v_ifconst , "ifconst",        MF_IF,  0 },
  72.     { NULL, v_ifnconst, "ifnconst",       MF_IF,  0 },
  73.     { NULL, v_if      , "if",             MF_IF,  0 },
  74.     { NULL, v_else    , "else",           MF_IF,  0 },
  75.     { NULL, v_endif   , "endif",          MF_IF,  0 },
  76.     { NULL, v_endif   , "eif",            MF_IF,  0 },
  77.     { NULL, v_repeat  , "repeat",         MF_IF,  0 },
  78.     { NULL, v_repend  , "repend",         MF_IF,  0 },
  79.     { NULL, v_echo    , "echo",           0,      0 },
  80.     { NULL, v_processor,"processor",      0,      0 },
  81.     NULL
  82. };
  83.  
  84.