//
-// RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System
+// RMAC - Reboot's Macro Assembler for all Atari computers
// EAGEN0.C - Effective Address Code Generation
// Generated Code for eaN (Included twice by "eagen.c")
-// Copyright (C) 199x Landon Dyer, 2017 Reboot and Friends
+// Copyright (C) 199x Landon Dyer, 2011-2017 Reboot and Friends
// RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
// Source utilised with the kind permission of Landon Dyer
//
VALUE vbd, v = aNexval;
WORD wbd, w = (WORD)(aNexattr & DEFINED);
WORD tdbbd, tdb = (WORD)(aNexattr & TDB);
- vbd = aNbdexval;
- wbd = (WORD)(aNbdexattr & DEFINED);
- tdbbd = (WORD)(aNbdexattr & TDB);
+ vbd = aNbdexval;
+ wbd = (WORD)(aNbdexattr & DEFINED);
+ tdbbd = (WORD)(aNbdexattr & TDB);
switch (amN)
{
break;
case SIZP:
- // 68881/68882/68040 only
- return error("Sorry, .p constant format is not implemented yet!");
- break;
+ // 68881/68882/68040 only
+ return error("Sorry, .p constant format is not implemented yet!");
+ break;
case ABSW:
if (w) // Defined
{
// Deposit word bd
if (wbd)
{
- // Just deposit it
+ // Just deposit it
if (tdb)
MarkRelocatable(cursect, sloc, tdbbd, MWORD, NULL);
}
else
{
- // Arrange for fixup later on
+ // Arrange for fixup later on
AddFixup(FU_WORD|FU_SEXT, sloc, aNexpr);
D_word(0);
}
// Deposit long bd
if (wbd)
{
- // Just deposit it
+ // Just deposit it
if (tdbbd)
MarkRelocatable(cursect, sloc, tdbbd, MLONG, NULL);
}
else
{
- // Arrange for fixup later on
+ // Arrange for fixup later on
AddFixup(FU_LONG|FU_SEXT, sloc, aNexpr);
D_long(0);
}
}
// Deposit od (if not suppressed)
- if ((aNexten&7)==EXT_IISPRE0 || (aNexten&7)==EXT_IISPREN
+ if ((aNexten&7)==EXT_IISPRE0 || (aNexten&7)==EXT_IISPREN
|| (aNexten&7)==EXT_IISNOIN || (aNexten&7)==EXT_IISPOSN)
{
// Don't deposit anything (suppressed)
// Deposit word od
if (w)
{
- // Just deposit it
+ // Just deposit it
if (tdb)
MarkRelocatable(cursect, sloc, tdb, MWORD, NULL);
}
else
{
- // Arrange for fixup later on
+ // Arrange for fixup later on
AddFixup(FU_WORD|FU_SEXT, sloc, aNexpr);
D_word(0);
}
// Deposit long od
if (w)
{
- // Just deposit it
+ // Just deposit it
if (tdb)
MarkRelocatable(cursect, sloc, tdb, MLONG, NULL);
}
else
{
- // Arrange for fixup later on
+ // Arrange for fixup later on
AddFixup(FU_LONG|FU_SEXT, sloc, aNexpr);
D_long(0);
}