]> Shamusworld >> Repos - rmac/blobdiff - procln.c
Fix a few minor problems with 030 mode PC relative fixups.
[rmac] / procln.c
index 0bb52e6a733eafe35eb0c944b57048e074f45999..8917004b258d4cc6e74b7f2f6ecb751723486222 100644 (file)
--- a/procln.c
+++ b/procln.c
@@ -1,7 +1,7 @@
 //
 // RMAC - Reboot's Macro Assembler for all Atari computers
 // PROCLN.C - Line Processing
-// Copyright (C) 199x Landon Dyer, 2011-2018 Reboot and Friends
+// Copyright (C) 199x Landon Dyer, 2011-2019 Reboot and Friends
 // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
 // Source utilised with the kind permission of Landon Dyer
 //
@@ -587,7 +587,7 @@ When checking to see if it's already been equated, issue a warning.
                if (list_flag)                                  // Put value in listing
                        listvalue((uint32_t)eval);
 
-               at_eol();                                               // Must be at EOL now
+               ErrorIfNotAtEOL();                              // Must be at EOL now
                goto loop;
        }
 
@@ -782,11 +782,24 @@ When checking to see if it's already been equated, issue a warning.
                                parcode = 0;
                        }
 
+#if 1
                        while ((dsp_am0 & md->mn0) == 0 || (dsp_am1 & md->mn1) == 0)
                                md = &dsp56k_machtab[md->mncont];
 
                        (*md->mnfunc)(md->mninst | (parcode << 8));
                        goto loop;
+#else
+                       for(;;)
+                       {
+                               if ((dsp_am0 & md->mn0) != 0 && (dsp_am1 & md->mn1) != 0)
+                               {
+                                       (*md->mnfunc)(md->mninst|(parcode << 8));
+                                       goto loop;
+                               }
+
+                               md = &dsp56k_machtab[md->mncont];
+                       }
+#endif
                }
        }