Now we're pretty sure that the codebase doesn't cause any regressions.
authorShamus Hammons <jlhamm@acm.org>
Mon, 20 Aug 2018 15:35:12 +0000 (10:35 -0500)
committerShamus Hammons <jlhamm@acm.org>
Mon, 20 Aug 2018 15:35:12 +0000 (10:35 -0500)
parmode.h
procln.c

index 4d37cdbe34ee77b4cad744e708e3d95f5e271e5a..13b83fcae05cd27827f94b998d95361ccd89f93a 100644 (file)
--- a/parmode.h
+++ b/parmode.h
@@ -1169,7 +1169,7 @@ CHK_FOR_DISPn:
                        // expr[.L]
                        AMn = ABSL;
 
-                       // Is .L forced here?
+                       // .L is forced here
                        if (*tok == DOTL)
                        {
                                tok++;
@@ -1177,8 +1177,8 @@ CHK_FOR_DISPn:
                        }
                        else
                        {
-                               // Defined, absolute values from $FFFF8000..$00007FFF get optimized
-                               // to absolute short
+                               // Defined, absolute values from $FFFF8000..$00007FFF get
+                               // optimized to absolute short
                                if (CHECK_OPTS(OPT_ABS_SHORT)
                                        && ((AnEXATTR & (TDB | DEFINED)) == DEFINED)
                                        && (((uint32_t)AnEXVAL + 0x8000) < 0x10000))
index d7bf53c577044a5b5ee83659cbe6b8c697ef2712..0bb52e6a733eafe35eb0c944b57048e074f45999 100644 (file)
--- a/procln.c
+++ b/procln.c
@@ -854,9 +854,11 @@ When checking to see if it's already been equated, issue a warning.
        // Keep a backup of chptr (used for optimisations during codegen)
        chptr_opcode = chptr;
 
-       while ((m->mnattr & siz) && (amsk0 & m->mn0) == 0 || (amsk1 & m->mn1) == 0)
+       while (!(m->mnattr & siz) || (amsk0 & m->mn0) == 0 || (amsk1 & m->mn1) == 0)
                m = &machtab[m->mncont];
 
+       DEBUG { printf("    68K: mninst=$%X, siz=$%X, mnattr=$%X, amsk0=$%X, mn0=$%X, amsk1=$%X, mn1=$%X\n", m->mninst, siz, m->mnattr, amsk0, m->mn0, amsk1, m->mn1); }
+
        (*m->mnfunc)(m->mninst, siz);
        goto loop;
 }