--- uae/src/readcpu.c 2018/04/24 17:05:24 1.1.1.8 +++ uae/src/readcpu.c 2018/04/24 17:18:13 1.1.1.10 @@ -137,13 +137,15 @@ struct mnemolookup lookuptab[] = { { i_CPUSHA, "CPUSHA" }, { i_MOVE16, "MOVE16" }, + { i_MMUOP30A, "MMUOP30A" }, + { i_MMUOP30B, "MMUOP30B" }, { i_MMUOP, "MMUOP" }, { i_ILLG, "" }, }; struct instr *table68k; -STATIC_INLINE amodes mode_from_str (const char *str) +static amodes mode_from_str (const char *str) { if (strncmp (str, "Dreg", 4) == 0) return Dreg; if (strncmp (str, "Areg", 4) == 0) return Areg; @@ -533,7 +535,7 @@ static void build_insn (int insn) case 'R': destreg = bitval[bitR]; dstgather = 1; dstpos = bitpos[bitR]; break; default: abort(); } - if (dstpos < 0 || dstpos >= 32) + if (dstpos < 0 || dstpos >= 32) abort (); break; case 'A': @@ -544,7 +546,7 @@ static void build_insn (int insn) case 'x': destreg = 0; dstgather = 0; dstpos = 0; break; default: abort(); } - if (dstpos < 0 || dstpos >= 32) + if (dstpos < 0 || dstpos >= 32) abort (); switch (opcstr[pos]) { case 'p': destmode = Apdi; pos++; break; @@ -692,7 +694,10 @@ static void build_insn (int insn) table68k[opc].mnemo = lookuptab[find].mnemo; break; } - if (strlen(lookuptab[find].name) == 0) abort(); + if (strlen(lookuptab[find].name) == 0) { + write_log ("Can't find mnemonic \"%s\"\n", mnemonic); + abort(); + } } } else {