Added floating point support to expression evaluator, introduced FLOAT token, fixup...
[rmac] / parmode.h
index 4b6c7ea968c1f07a81e8d7ebedbed9a6a56efaee..e5e0b91606ed1e3256c5919e210b2d35c1ea1b91 100644 (file)
--- a/parmode.h
+++ b/parmode.h
                                // It might be (Dn[.wl][*scale],od)
                                // Maybe this is wrong and we have to write some code here
                                // instead of reusing that path...
+                               AnEXTEN |= EXT_BDSIZE0;     // Base displacement null - suppressed
                                goto CHECKODn;
                        }
                        else
 
                        if (*tok == ',')
                        {
+                               // If we got here we didn't get any [] stuff
+                               // so let's suppress base displacement before
+                               // branching off
                                tok++;
+                               AnEXTEN |= EXT_BDSIZE0;     // Base displacement null - suppressed
                                goto CHECKODn;
                        }
                        if (*tok++ != ')')         // final ")"
                                tok++;
 
                                // Check for size
+                               {
                                // ([bd,An/PC],Xn.W/L...)
                                switch ((int)*tok)
                                {
                                        // .B not allowed here...
                                        goto badmode;
                                }
+                               }
 
                                // Check for scale
                                if (*tok == '*')                        // ([bd,An/PC],Xn*...)
 
                                        // Is .W forced here?
                                        if (*tok == DOTW)
+                                       {
                                                tok++;
+                                       }
                                }
 
                                // Check for final closing parenthesis
@@ -717,6 +726,7 @@ IS_SUPPRESSEDn:
                                }
 
                                // Check for size
+                               {
                                // ([bd,An/PC],Xn.W/L...)
                                switch ((int)*tok)
                                {
@@ -734,6 +744,7 @@ IS_SUPPRESSEDn:
                                        // .B not allowed here...
                                        goto badmode;
                                }
+                               }
 
                                // Check for scale
                                if (*tok == '*')                        // ([bd,An/PC],Xn*...)