]> Shamusworld >> Repos - rmac/blobdiff - eagen0.c
Version bump for last patch; now at v1.13.4.
[rmac] / eagen0.c
index b4b58861a24425c57f695a4f824a1bcd46887d2a..5b3c4ab5b35df2e34043b50364407d6bc5fe01c2 100644 (file)
--- a/eagen0.c
+++ b/eagen0.c
@@ -2,7 +2,7 @@
 // RMAC - Reboot's Macro Assembler for all Atari computers
 // EAGEN0.C - Effective Address Code Generation
 //            Generated Code for eaN (Included twice by "eagen.c")
-// Copyright (C) 199x Landon Dyer, 2011-2017 Reboot and Friends
+// Copyright (C) 199x Landon Dyer, 2011-2018 Reboot and Friends
 // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
 // Source utilised with the kind permission of Landon Dyer
 //
@@ -167,7 +167,7 @@ int eaNgen(WORD siz)
                                if (v + 0x100 >= 0x200)
                                        return error(range_error);
 
-                               D_word(v);
+                               D_word(v & 0xFF);
                        }
                        else
                        {
@@ -214,8 +214,9 @@ int eaNgen(WORD siz)
                        // 68881/68882/68040 only
                        if (w)
                        {
-                               if (tdb)
-                                       MarkRelocatable(cursect, sloc, tdb, MSINGLE, NULL);
+//Would a floating point value *ever* need to be fixed up as if it were an address? :-P
+//                             if (tdb)
+//                                     MarkRelocatable(cursect, sloc, tdb, MSINGLE, NULL);
 
                                // The value passed back from expr() is an internal C double;
                                // so we have to access it as such then convert it to an
@@ -238,8 +239,9 @@ int eaNgen(WORD siz)
                        // 68881/68882/68040 only
                        if (w)
                        {
-                               if (tdb)
-                                       MarkRelocatable(cursect, sloc, tdb, MDOUBLE, NULL);
+//Would a floating point value *ever* need to be fixed up as if it were an address? :-P
+//                             if (tdb)
+//                                     MarkRelocatable(cursect, sloc, tdb, MDOUBLE, NULL);
 
                                PTR p;
                                p.u64 = &aNexval;
@@ -258,8 +260,9 @@ int eaNgen(WORD siz)
                        // 68881/68882/68040 only
                        if (w)
                        {
-                               if (tdb)
-                                       MarkRelocatable(cursect, sloc, tdb, MEXTEND, NULL);
+//Would a floating point value *ever* need to be fixed up as if it were an address? :-P
+//                             if (tdb)
+//                                     MarkRelocatable(cursect, sloc, tdb, MEXTEND, NULL);
 
                                PTR p;
                                p.u64 = &aNexval;