X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=parmode.h;h=e5e0b91606ed1e3256c5919e210b2d35c1ea1b91;hp=4b6c7ea968c1f07a81e8d7ebedbed9a6a56efaee;hb=582df8950c285e1746d0c4a9e3ead6545c962dc8;hpb=689803cff9fd6a81a516486e6e1439ce717607b3 diff --git a/parmode.h b/parmode.h index 4b6c7ea..e5e0b91 100644 --- a/parmode.h +++ b/parmode.h @@ -186,6 +186,7 @@ // 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 @@ -279,7 +280,11 @@ 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 ")" @@ -365,6 +370,7 @@ tok++; // Check for size + { // ([bd,An/PC],Xn.W/L...) switch ((int)*tok) { @@ -382,6 +388,7 @@ // .B not allowed here... goto badmode; } + } // Check for scale if (*tok == '*') // ([bd,An/PC],Xn*...) @@ -616,7 +623,9 @@ // 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*...)