]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
68000 UNLK operation address error order fixed, first check address, then adjust SP.
authorToni Wilen <twilen@winuae.net>
Wed, 7 Aug 2019 16:34:00 +0000 (19:34 +0300)
committerToni Wilen <twilen@winuae.net>
Wed, 7 Aug 2019 16:34:00 +0000 (19:34 +0300)
gencpu.cpp

index 830f163eb7377753e77d37448e66e44137b4831f..07105e86df2b42accc78ec8fa3604106e7737e01 100644 (file)
@@ -1629,6 +1629,10 @@ static void genamode2x (amodes mode, const char *reg, wordsizes size, const char
                maybeaddop_ce020 (flags);
                syncmovepc (getv, flags);
                return;
+       case am_unknown:
+               // reg = internal variable
+               printf("\tuae_u32 %sa = %s;\n", name, reg);
+               break;
        default:
                term ();
        }
@@ -4154,8 +4158,8 @@ static void gen_opcode (unsigned int opcode)
                        printf ("\tm68k_areg (regs, srcreg) = old;\n");
                } else {
                        genamode (curi, curi->smode, "srcreg", curi->size, "src", 1, 0, 0);
-                       printf ("\tm68k_areg (regs, 7) = src;\n");
-                       genamode (NULL, Aipi, "7", sz_long, "old", 1, 0, 0);
+                       genamode(NULL, am_unknown, "src", sz_long, "old", 1, 0, 0);
+                       printf("\tm68k_areg (regs, 7) = src + 4;\n");
                        fill_prefetch_next ();
                        genastore ("old", curi->smode, "srcreg", curi->size, "src");
                }