//
-// RMAC - Reboot's Macro Assembler for all Atari computers
+// RMAC - Renamed Macro Assembler for all Atari computers
// 6502.C - 6502 Assembler
-// 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
//
#include "sect.h"
#include "token.h"
-#define DEF_KW
-#include "kwtab.h"
+#define DEF_REG65
+#define DECL_REG65
+#include "6502regs.h"
#define UPSEG_SIZE 0x10010L // size of 6502 code buffer, 64K+16bytes
{
SaveSection(); // Save curent section
SwitchSection(M6502); // Switch to 6502 section
+ regbase = reg65base; // Update register DFA tables
+ regtab = reg65tab;
+ regcheck = reg65check;
+ regaccept = reg65accept;
return 0;
}
amode = A65_IMPL;
break;
- case KW_A:
+ case REG65_A:
if (tok[1] != EOL)
goto badmode;
tok++;
amode = A65_INDY;
- if (tok[0] != KW_Y)
+ if (tok[0] != REG65_Y)
goto badmode;
tok++;
else
amode = A65_IND;
}
- else if ((tok[0] == ',') && (tok[1] == KW_X) && (tok[2] == ')'))
+ else if ((tok[0] == ',') && (tok[1] == REG65_X) && (tok[2] == ')'))
{
// (foo,x)
tok += 3;
if ((tok[1] != ')') || (tok[2] != EOL))
goto badmode;
- if (tok[0] == KW_X)
+ if (tok[0] == REG65_X)
amode = A65_INDX;
- else if (tok[0] == KW_Y)
+ else if (tok[0] == REG65_Y)
amode = A65_INDY;
else
goto badmode;
{
tok++;
- if (tok[0] == KW_X)
+ if (tok[0] == REG65_X)
{
tok++;
amode = A65_ABSX;
}
- else if (tok[0] == KW_Y)
+ else if (tok[0] == REG65_Y)
{
tok++;
amode = A65_ABSY;