]> Shamusworld >> Repos - rmac/commitdiff
Fixed a wrong optimisation switch test, corrected some messages, updated docs
authorggn <ggn@atari.org>
Sun, 17 Apr 2022 08:40:46 +0000 (11:40 +0300)
committerShamus Hammons <jlhamm@acm.org>
Mon, 30 May 2022 18:16:38 +0000 (13:16 -0500)
dsp56k_amode.c
rmac.c

index 4b80f8c769c3157549b5732fb27aba1f5a56665b..161fec99c824a5cc82471c7afa4b6a090c1092e4 100644 (file)
@@ -2653,7 +2653,7 @@ deposit_immediate_short_with_register:
 
                                        if ((dspImmedEXVAL & 0xFFFF) == 0)
                                        {
-                                               if (CHECK_OPTS(OPT_56K_AUTO_LONG))
+                                               if (CHECK_OPTS(OPT_56K_SHORT))
                                                {
                                                        // Value's 16 lower bits are not set so the value can
                                                        // fit in a single byte (check parallel I move quoted
@@ -2666,7 +2666,7 @@ deposit_immediate_short_with_register:
                                                }
                                                else
                                                {
-                                                       return error("Immediate value fits inside 8 bits, so using instruction short format - turn opt switch o11 on to bypass");
+                                                       return error("Immediate value fits inside 8 bits, so using instruction short format - turn opt switch o10 on to bypass");
                                                }
                                        }
 
@@ -2677,13 +2677,13 @@ deposit_immediate_short_with_register:
                                                        if (CHECK_OPTS(OPT_56K_AUTO_LONG))
                                                        {
                                                                if (optim_warn_flag)
-                                                                       warn("Immediate value short format forced but value does not fit inside 8 bits - switching to long format");
+                                                                       warn("o11: Immediate value short format forced but value does not fit inside 8 bits - switching to long format");
 
                                                                goto deposit_immediate_long_with_register;
                                                        }
                                                        else
                                                        {
-                                                               return error("Immediate value short format forced but value does not fit inside 8 bits - turn opt switch o11 on to bypass - turn opt switch o11 on to bypass");
+                                                               return error("Immediate value short format forced but value does not fit inside 8 bits - turn opt switch o11 on to bypass");
                                                        }
                                                }
 
diff --git a/rmac.c b/rmac.c
index a1ae0bdd5ec4f727a2a0d0b666f0f7b66bfee609..782f97c7435826f57d033bcfe60c880335f3e402 100644 (file)
--- a/rmac.c
+++ b/rmac.c
@@ -776,6 +776,7 @@ int main(int argc, char ** argv)
 {
        perm_verb_flag = 0;                             // Clobber "permanent" verbose flag
        legacy_flag = 1;                                // Default is legacy mode on (:-P)
+       optim_flags[OPT_56K_SHORT] = 1; // This ensures compatibilty with Motorola's 56k assembler
 
        cmdlnexec = argv[0];                    // Obtain executable name
        endian = GetEndianess();                // Get processor endianess