]> Shamusworld >> Repos - rmac/blobdiff - rmac.c
Fix for #159: Split register sets according to architecture into different tables...
[rmac] / rmac.c
diff --git a/rmac.c b/rmac.c
index 473f372cc4344f42d6c6956c41de6bb8023a7e99..0ae0f6201b9b33c8f3d4f02a4cfd6918da1c9abc 100644 (file)
--- a/rmac.c
+++ b/rmac.c
@@ -45,6 +45,10 @@ int dsp56001;                                        // Assembling DSP 56001 code
 int list_fd;                                   // File to write listing to
 int segpadsize;                                        // Segment padding size
 int endian;                                            // Host processor endianess (0 = LE, 1 = BE)
+int *regbase;                                  // Points to current DFA register table (base)
+int *regtab;                                   // Points to current DFA register table (tab)
+int *regcheck;                                 // Points to current DFA register table (check)
+int *regaccept;                                        // Points to current DFA register table (accept)
 char * objfname;                               // Object filename pointer
 char * firstfname;                             // First source filename
 char * cmdlnexec;                              // Executable name, pointer to ARGV[0]
@@ -284,6 +288,11 @@ int ParseOptimization(char * optstring)
        return OK;
 }
 
+extern int reg68base[53];
+extern int reg68tab[222];
+extern int reg68check[222];
+extern int reg68accept[222];
+
 //
 // Process command line arguments and do an assembly
 //
@@ -321,6 +330,10 @@ int Process(int argc, char ** argv)
     dsp_orgmap[0].start = 0;           // Initialize 56001 org initial address
     dsp_orgmap[0].memtype = ORG_P;     // Initialize 56001 org start segment
        m6502 = 0;                                              // 6502 mode off by default
+       regbase = reg68base;                    // Initialise DFA register tables
+       regtab = reg68tab;                              // Idem
+       regcheck = reg68check;                  // Idem
+       regaccept = reg68accept;                // Idem
 
        // Initialize modules
        InitSymbolTable();                              // Symbol table