//
-// RMAC - Reboot's Macro Assembler for all Atari computers
+// RMAC - Renamed Macro Assembler for all Atari computers
// SECT.C - Code Generation, Fixups and Section Management
-// Copyright (C) 199x Landon Dyer, 2011-2020 Reboot and Friends
+// Copyright (C) 199x Landon Dyer, 2011-2021 Reboot and Friends
// RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
// Source utilised with the kind permission of Landon Dyer
//
if (evexpr(fup->expr, &eval, &eattr, &esym) != OK)
continue;
- if (CHECK_OPTS(OPT_PC_RELATIVE))
- if (eattr & REFERENCED)
- if (eattr & DEFINED)
- if (!(eattr & EQUATED))
- {
- error("relocation not allowed");
- continue;
- }
+ if ((CHECK_OPTS(OPT_PC_RELATIVE)) && (eattr & REFERENCED) && (eattr & DEFINED) && (!(eattr & EQUATED)))
+ {
+ error("relocation not allowed");
+ continue;
+ }
}
// Simple symbol
else
SYM * sy = fup->symbol;
eattr = sy->sattr;
- if (CHECK_OPTS(OPT_PC_RELATIVE))
- if (eattr & REFERENCED)
- if (eattr & DEFINED)
- if (!(eattr & EQUATED))
- {
- error("relocation not allowed");
- continue;
- }
+ if ((CHECK_OPTS(OPT_PC_RELATIVE)) && (eattr & REFERENCED) && (eattr & DEFINED) && (!(eattr & EQUATED)))
+ {
+ error("relocation not allowed");
+ continue;
+ }
if (eattr & DEFINED)
eval = sy->svalue;
// Just output a NOP
*locp++ = 0x4E;
*locp = 0x71;
+
if (optim_warn_flag)
warn("bra.s with zero offset converted to NOP");
+
continue;
}
else
locp[1] = (uint8_t)eval;
break;
- // This is a 6 bit absoulte short address. It occupies
- // the low 6 bits of the middle byte of a DSP word.
+ // This is a 6 bit absoulte short address. It occupies the low 6
+ // bits of the middle byte of a DSP word.
case FU_DSPADR06:
if (eval > 63)
{
locp[1] |= eval;
break;
- // This is a 6 bit absoulte short address. It occupies
- // the low 6 bits of the middle byte of a DSP word.
+ // This is a 6 bit absoulte short address. It occupies the low 6
+ // bits of the middle byte of a DSP word.
case FU_DSPPP06:
if (eval < 0xFFFFFFC0)
{