X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=parmode.h;fp=parmode.h;h=549f131ea42630df7869042f42bcb3fbd72f8df8;hp=cd01a4b90c054479baec2f1b1c8b645a8a145a4f;hb=d812346ecf7309ee3fb88a8dd1f4bca033121ad5;hpb=4ee0f36a71367d53457147c7b31bc9845e3ac21c diff --git a/parmode.h b/parmode.h index cd01a4b..549f131 100644 --- a/parmode.h +++ b/parmode.h @@ -616,9 +616,21 @@ CHECKODn: } // ([bd,An/PC],Xn,od) - if (*tok == DOTL) + // Is .W forced here? + if (*tok == DOTW) { - // expr.L + tok++; + // od[.W] + AnEXTEN |= EXT_IISPOSW; // Word outer displacement + AMn = MEMPOST; + } + else + { + // Is .L forced here? + if (*tok == DOTL) + tok++; // Doesn't matter, we're going for .L anyway + + // od.L if (!(AnEXTEN & EXT_BS)) AnEXTEN |= EXT_IISPOSL; // Long outer displacement else @@ -633,14 +645,12 @@ CHECKODn: { AnBEXPR[i] = AnEXPR[i]; i++; - } - while (AnEXPR[i] != 'E'); + } while (AnEXPR[i] != 'E'); AnBEXPR[i] = 'E'; } AMn = MEMPOST; - tok++; // Defined, absolute values from $FFFF8000..$00007FFF get // optimized to absolute short @@ -653,17 +663,6 @@ CHECKODn: if (optim_warn_flag) warn("absolute value in outer displacement ranging $FFFF8000..$00007FFF optimised to absolute short"); } - - } - else - { - // expr[.W] - AnEXTEN |= EXT_IISPOSW; // Word outer displacement - AMn = MEMPOST; - - // Is .W forced here? - if (*tok == DOTW) - tok++; } // Check for final closing parenthesis