//
// RMAC - Reboot's Macro Assembler for all Atari computers
// PARMODE.C - Addressing Modes Parser Include
-// Copyright (C) 199x Landon Dyer, 2011-2018 Reboot and Friends
+// Copyright (C) 199x Landon Dyer, 2011-2020 Reboot and Friends
// RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
// Source utilised with the kind permission of Landon Dyer
//
// expr[.L]
AMn = ABSL;
- // Defined, absolute values from $FFFF8000..$00007FFF get optimized
- // to absolute short
- if (CHECK_OPTS(OPT_ABS_SHORT)
- && ((AnEXATTR & (TDB | DEFINED)) == DEFINED)
- && (((uint32_t)AnEXVAL + 0x8000) < 0x10000))
- {
- AMn = ABSW;
-
- if (sbra_flag)
- warn("absolute value from $FFFF8000..$00007FFF optimised to absolute short");
- }
-
- // Is .L forced here?
+ // .L is forced here
if (*tok == DOTL)
{
tok++;
AMn = ABSL;
}
+ else
+ {
+ // Defined, absolute values from $FFFF8000..$00007FFF get
+ // optimized to absolute short
+ if (CHECK_OPTS(OPT_ABS_SHORT)
+ && ((AnEXATTR & (TDB | DEFINED)) == DEFINED)
+ && (((uint32_t)AnEXVAL + 0x8000) < 0x10000))
+ {
+ AMn = ABSW;
+
+ if (sbra_flag)
+ warn("absolute value from $FFFF8000..$00007FFF optimised to absolute short");
+ }
+ }
goto AnOK;
}