]> Shamusworld >> Repos - rmac/commitdiff
Small fix for spurious "out of range" errors (tied to 64-bit eval path).
authorShamus Hammons <jlhamm@acm.org>
Fri, 13 Oct 2017 23:00:10 +0000 (18:00 -0500)
committerShamus Hammons <jlhamm@acm.org>
Fri, 13 Oct 2017 23:00:10 +0000 (18:00 -0500)
mach.c
version.h

diff --git a/mach.c b/mach.c
index e8a719bce782baef14c7775692ee96ee634b50be..edb5deacc7e4627790463005274687d428fb9c48 100644 (file)
--- a/mach.c
+++ b/mach.c
@@ -705,8 +705,6 @@ int m_bitop(WORD inst, WORD siz)
 
 int m_dbra(WORD inst, WORD siz)
 {
-       uint32_t v;
-
        siz = siz;
        inst |= a0reg;
        D_word(inst);
@@ -716,7 +714,7 @@ int m_dbra(WORD inst, WORD siz)
                if ((a1exattr & TDB) != cursect)
                        return error(rel_error);
 
-               v = a1exval - sloc;
+               uint32_t v = a1exval - sloc;
 
                if (v + 0x8000 > 0x10000)
                        return error(range_error);
@@ -919,7 +917,7 @@ int m_moveq(WORD inst, WORD siz)
                AddFixup(FU_BYTE | FU_SEXT, sloc + 1, a0expr);
                a0exval = 0;
        }
-       else if (a0exval + 0x100 >= 0x200)
+       else if ((uint32_t)a0exval + 0x100 >= 0x200)
                return error(range_error);
 
        inst |= reg_9[a1reg] | (a0exval & 0xFF);
@@ -971,8 +969,6 @@ int m_movep(WORD inst, WORD siz)
 //
 int m_br(WORD inst, WORD siz)
 {
-       uint32_t v;
-
        if (a0exattr & DEFINED)
        {
                if ((a0exattr & TDB) != cursect)
@@ -981,7 +977,7 @@ int m_br(WORD inst, WORD siz)
                        return error(rel_error);
 //}
 
-               v = (uint32_t)a0exval - (sloc + 2);
+               uint32_t v = (uint32_t)a0exval - (sloc + 2);
 
                // Optimize branch instr. size
                if (siz == SIZN)
index 225ad9f58b2a878f968af3627cab7676675d0086..9193d3de7998b4fa16dbcca5849b5e569efd2e1c 100644 (file)
--- a/version.h
+++ b/version.h
@@ -15,7 +15,7 @@
 
 #define MAJOR   1              // Major version number
 #define MINOR   9              // Minor version number
-#define PATCH   0              // Patch release number
+#define PATCH   1              // Patch release number
 
 #endif // __VERSION_H__