]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - sim/m68hc11/gencode.c
sim: m68hc11: move arch-specific settings to internal header
[thirdparty/binutils-gdb.git] / sim / m68hc11 / gencode.c
index ca5eef2432f0477fb96299f9709f491e01138438..cde336d947063eda08a43632e5c42c28a2c04307 100644 (file)
@@ -1,5 +1,5 @@
 /* gencode.c -- Motorola 68HC11 & 68HC12 Emulator Generator
-   Copyright 1999-2019 Free Software Foundation, Inc.
+   Copyright 1999-2022 Free Software Foundation, Inc.
    Written by Stephane Carrez (stcarrez@nerim.fr)
 
 This file is part of GDB, GAS, and the GNU binutils.
@@ -17,6 +17,9 @@ GNU General Public License for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+/* This must come before any other includes.  */
+#include "defs.h"
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -131,7 +134,7 @@ struct m6811_opcode_pattern m6811_opcode_patterns[] = {
   { "rts11",  "addr = cpu_m68hc11_pop_uint16 (cpu); cpu_set_pc (cpu, addr); cpu_return (cpu)" },
   { "rts12",  "addr = cpu_m68hc12_pop_uint16 (cpu); cpu_set_pc (cpu, addr); cpu_return (cpu)" },
 
-  { "mul16", "dst16 = ((uint16) src8 & 0x0FF) * ((uint16) dst8 & 0x0FF)",
+  { "mul16", "dst16 = ((uint16_t) src8 & 0x0FF) * ((uint16_t) dst8 & 0x0FF)",
     "cpu_set_ccr_C (cpu, src8 & 0x80)" },
   { "neg8", "dst8 = - src8",
     "cpu_set_ccr_C (cpu, src8 == 0); cpu_ccr_update_tst8 (cpu, dst8)" },
@@ -224,7 +227,7 @@ dst16 = dst16 + src16", 0 },
   { "txys16", "dst16 = src16 - 1;"},
 
   /* Add b to X or Y with an unsigned extension 8->16. Flags not changed.  */
-  { "abxy16","dst16 = dst16 + (uint16) src8"},
+  { "abxy16","dst16 = dst16 + (uint16_t) src8"},
 
   /* After 'daa', the Z flag is undefined. Mark it as changed. */
   { "daa8",  "cpu_special (cpu, M6811_DAA)" },
@@ -253,8 +256,8 @@ cpu_set_ccr_V (cpu, 1);\n\
 cpu_set_ccr_C (cpu, dst16 == 0);\n\
 }\nelse\n{\n\
 unsigned long l = (unsigned long) (dst16) << 16;\n\
-cpu_set_d (cpu, (uint16) (l % (unsigned long) (src16)));\n\
-dst16 = (uint16) (l / (unsigned long) (src16));\n\
+cpu_set_d (cpu, (uint16_t) (l % (unsigned long) (src16)));\n\
+dst16 = (uint16_t) (l / (unsigned long) (src16));\n\
 cpu_set_ccr_V (cpu, 0);\n\
 cpu_set_ccr_C (cpu, 0);\n\
 cpu_set_ccr_Z (cpu, dst16 == 0);\n\
@@ -286,8 +289,8 @@ cpu_set_ccr_Z (cpu, dst16 == 0);\n\
   { "call_ind", "cpu_special (cpu, M6812_CALL_INDIRECT)" },
   { "dbcc8", "cpu_dbcc (cpu)" },
   { "ediv",  "cpu_special (cpu, M6812_EDIV)" },
-  { "emul",  "{ uint32 src1 = (uint32) cpu_get_d (cpu);\
-  uint32 src2 = (uint32) cpu_get_y (cpu);\
+  { "emul",  "{ uint32_t src1 = (uint32_t) cpu_get_d (cpu);\
+  uint32_t src2 = (uint32_t) cpu_get_y (cpu);\
   src1 *= src2;\
   cpu_set_d (cpu, src1);\
   cpu_set_y (cpu, src1 >> 16);\
@@ -1281,9 +1284,9 @@ print (FILE *fp, int col, const char *msg, ...)
    -   End of input operands.
   
    Example:
-       (x),a->a              addr = x + (uint16) (fetch8 (cpu));
+       (x),a->a              addr = x + (uint16_t) (fetch8 (cpu));
                      src8 = a
-       *,#,r         addr = (uint16) (fetch8 (cpu))  <- Temporary 'addr'
+       *,#,r         addr = (uint16_t) (fetch8 (cpu))  <- Temporary 'addr'
                      src8 = read_mem8 (cpu, addr)
                      dst8 = fetch8 (cpu)
                      addr = fetch_relbranch (cpu)    <- Final 'addr'
@@ -1354,7 +1357,7 @@ gen_fetch_operands (FILE *fp, int col,
          
          addr_set = 1;
          current_insn_size += 1;
-         print (fp, col, "addr = (uint16) cpu_fetch8 (cpu);");
+         print (fp, col, "addr = (uint16_t) cpu_fetch8 (cpu);");
          print (fp, col, "%s%s = memory_read%s (cpu, addr);",
                 vars[cur_var], operand_size, operand_size);
          break;
@@ -1367,13 +1370,13 @@ gen_fetch_operands (FILE *fp, int col,
          if (strncmp (operands, "(x)", 3) == 0)
            {
              current_insn_size += 1;
-             print (fp, col, "addr = cpu_get_x (cpu) + (uint16) cpu_fetch8 (cpu);");
+             print (fp, col, "addr = cpu_get_x (cpu) + (uint16_t) cpu_fetch8 (cpu);");
              operands += 3;
            }
          else if (strncmp (operands, "(y)", 3) == 0)
            {
              current_insn_size += 1;
-             print (fp, col, "addr = cpu_get_y (cpu) + (uint16) cpu_fetch8 (cpu);");
+             print (fp, col, "addr = cpu_get_y (cpu) + (uint16_t) cpu_fetch8 (cpu);");
              operands += 3;
            }
          else if (strncmp (operands, "()", 2) == 0)
@@ -1405,7 +1408,7 @@ gen_fetch_operands (FILE *fp, int col,
            {
              addr_set = 1;
              current_insn_size += 1;
-             print (fp, col, "addr = cpu_get_x (cpu) + (uint16) cpu_fetch8 (cpu);");
+             print (fp, col, "addr = cpu_get_x (cpu) + (uint16_t) cpu_fetch8 (cpu);");
              print (fp, col, "%s%s = memory_read%s (cpu, addr);",
                     vars[cur_var], operand_size, operand_size);
              operands += 2;
@@ -1414,7 +1417,7 @@ gen_fetch_operands (FILE *fp, int col,
            {
              addr_set = 1;
              current_insn_size += 1;
-             print (fp, col, "addr = cpu_get_y (cpu) + (uint16) cpu_fetch8 (cpu);");
+             print (fp, col, "addr = cpu_get_y (cpu) + (uint16_t) cpu_fetch8 (cpu);");
              print (fp, col, "%s%s = memory_read%s (cpu, addr);",
                     vars[cur_var], operand_size, operand_size);
              operands += 2;
@@ -1665,7 +1668,7 @@ gen_save_result (FILE *fp, int col,
       if (addr_set == 0)
        {
          current_insn_size += 1;
-         print (fp, col, "addr = (uint16) cpu_fetch8 (cpu);");
+         print (fp, col, "addr = (uint16_t) cpu_fetch8 (cpu);");
        }
       result_size = operand_size;
       print (fp, col, "memory_write%s (cpu, addr, dst%s);",
@@ -1992,11 +1995,11 @@ gen_function_entry (FILE *fp, const char *name, int locals)
 
   /* Interpretor local variables.  */
   print (fp, indent_level, "unsigned char op;");
-  print (fp, indent_level, "uint16 addr, src16, dst16;");
+  print (fp, indent_level, "uint16_t addr, src16, dst16;");
   if (locals & USE_SRC8)
-    print (fp, indent_level, "uint8 src8;\n");
+    print (fp, indent_level, "uint8_t src8;\n");
   if (locals & USE_DST8)
-    print (fp, indent_level, "uint8 dst8;\n");
+    print (fp, indent_level, "uint8_t dst8;\n");
 }
 
 void
@@ -2045,7 +2048,7 @@ gen_interpreter (FILE *fp)
 
   /* Generate header of interpretor.  */
   print (fp, col, "/* File generated automatically by gencode. */\n");
-  print (fp, col, "#include \"sim-main.h\"\n\n");
+  print (fp, col, "#include \"m68hc11-sim.h\"\n\n");
 
   if (cpu_type & cpu6811)
     {