//
// RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System
// AMODE.C - DSP 56001 Addressing Modes
//
// RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System
// AMODE.C - DSP 56001 Addressing Modes
// RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
// Source utilised with the kind permission of Landon Dyer
//
// RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
// Source utilised with the kind permission of Landon Dyer
//
int dsp_am0; // Addressing mode
int dsp_a0reg; // Register
TOKEN dsp_a0expr[EXPRSIZE]; // Expression
int dsp_am0; // Addressing mode
int dsp_a0reg; // Register
TOKEN dsp_a0expr[EXPRSIZE]; // Expression
int dsp_k; // Multiplications sign
static inline LONG checkea(const uint32_t termchar, const int strings);
int dsp_k; // Multiplications sign
static inline LONG checkea(const uint32_t termchar, const int strings);
{
// We're in 'S1,D1 Y:ea,D2' or 'S1,D1 S1,Y:ea'
// there's no Y:aa mode here, so we'll force long
{
// We're in 'S1,D1 Y:ea,D2' or 'S1,D1 S1,Y:ea'
// there's no Y:aa mode here, so we'll force long
if (expr(dspImmedEXPR, &dspImmedEXVAL, &dspImmedEXATTR, &dspImmedESYM) != OK)
return ERROR;
if (expr(dspImmedEXPR, &dspImmedEXVAL, &dspImmedEXATTR, &dspImmedESYM) != OK)
return ERROR;
{
// Value's 16 lower bits are not set so the value can fit in a single byte
// (check parallel I move quoted above)
{
// Value's 16 lower bits are not set so the value can fit in a single byte
// (check parallel I move quoted above)