//
-// RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System
+// RMAC - Renamed Macro Assembler for the Atari Jaguar Console System
// DSP56K_AMODE.H - Addressing Modes for Motorola DSP56001
-// 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
//
// DSP EA modes
-#define DSP_EA_POSTDEC B8(00000000)
-#define DSP_EA_POSTINC B8(00001000)
-#define DSP_EA_POSTDEC1 B8(00010000)
-#define DSP_EA_POSTINC1 B8(00011000)
-#define DSP_EA_NOUPD B8(00100000)
-#define DSP_EA_INDEX B8(00101000)
-#define DSP_EA_PREDEC1 B8(00111000)
-#define DSP_EA_ABS B8(00110000)
-#define DSP_EA_IMM B8(00110100)
+#define DSP_EA_POSTDEC 0b00000000
+#define DSP_EA_POSTINC 0b00001000
+#define DSP_EA_POSTDEC1 0b00010000
+#define DSP_EA_POSTINC1 0b00011000
+#define DSP_EA_NOUPD 0b00100000
+#define DSP_EA_INDEX 0b00101000
+#define DSP_EA_PREDEC1 0b00111000
+#define DSP_EA_ABS 0b00110000
+#define DSP_EA_IMM 0b00110100
// Mnemonic table structure
};
// Addressing mode variables, output of dsp_amode()
-int dsp_am0; // Addressing mode
-int dsp_a0reg; // Register
-int dsp_am1; // Addressing mode
-int dsp_a1reg; // Register
-int dsp_am2; // Addressing mode
-int dsp_a2reg; // Register
-int dsp_am3; // Addressing mode
-int dsp_a3reg; // Register
-
-TOKEN dsp_a0expr[EXPRSIZE]; // Expression
-uint64_t dsp_a0exval; // Expression's value
-WORD dsp_a0exattr; // Expression's attribute
-SYM * dsp_a0esym; // External symbol involved in expr
-LONG dsp_a0memspace; // Addressing mode's memory space (P, X, Y)
-LONG dsp_a0perspace; // Peripheral space (X, Y - used in movep)
-TOKEN dsp_a1expr[EXPRSIZE]; // Expression
-uint64_t dsp_a1exval; // Expression's value
-WORD dsp_a1exattr; // Expression's attribute
-SYM * dsp_a1esym; // External symbol involved in expr
-LONG dsp_a1memspace; // Addressing mode's memory space (P, X, Y)
-LONG dsp_a1perspace; // Peripheral space (X, Y - used in movep)
-TOKEN dsp_a2expr[EXPRSIZE]; // Expression
-uint64_t dsp_a2exval; // Expression's value
-WORD dsp_a2exattr; // Expression's attribute
-SYM * dsp_a2esym; // External symbol involved in expr
-TOKEN dsp_a3expr[EXPRSIZE]; // Expression
-uint64_t dsp_a3exval; // Expression's value
-WORD dsp_a3exattr; // Expression's attribute
-SYM * dsp_a3esym; // External symbol involved in expr
-int dsp_k; // Multiplications sign
-TOKEN dspImmedEXPR[EXPRSIZE]; // Expression
-uint64_t dspImmedEXVAL; // Expression's value
-WORD dspImmedEXATTR; // Expression's attribute
-SYM * dspImmedESYM; // External symbol involved in expr
-int deposit_extra_ea; // Optional effective address extension
+extern int dsp_am0; // Addressing mode
+extern int dsp_a0reg; // Register
+extern int dsp_am1; // Addressing mode
+extern int dsp_a1reg; // Register
+extern int dsp_am2; // Addressing mode
+extern int dsp_a2reg; // Register
+extern int dsp_am3; // Addressing mode
+extern int dsp_a3reg; // Register
+
+extern TOKEN dsp_a0expr[EXPRSIZE]; // Expression
+extern uint64_t dsp_a0exval; // Expression's value
+extern WORD dsp_a0exattr; // Expression's attribute
+extern SYM * dsp_a0esym; // External symbol involved in expr
+extern LONG dsp_a0memspace; // Addressing mode's memory space (P, X, Y)
+extern LONG dsp_a0perspace; // Peripheral space (X, Y - used in movep)
+extern TOKEN dsp_a1expr[EXPRSIZE]; // Expression
+extern uint64_t dsp_a1exval; // Expression's value
+extern WORD dsp_a1exattr; // Expression's attribute
+extern SYM * dsp_a1esym; // External symbol involved in expr
+extern LONG dsp_a1memspace; // Addressing mode's memory space (P, X, Y)
+extern LONG dsp_a1perspace; // Peripheral space (X, Y - used in movep)
+extern TOKEN dsp_a2expr[EXPRSIZE]; // Expression
+extern uint64_t dsp_a2exval; // Expression's value
+extern WORD dsp_a2exattr; // Expression's attribute
+extern SYM * dsp_a2esym; // External symbol involved in expr
+extern TOKEN dsp_a3expr[EXPRSIZE]; // Expression
+extern uint64_t dsp_a3exval; // Expression's value
+extern WORD dsp_a3exattr; // Expression's attribute
+extern SYM * dsp_a3esym; // External symbol involved in expr
+extern int dsp_k; // Multiplications sign
+extern TOKEN dspImmedEXPR[EXPRSIZE]; // Expression
+extern uint64_t dspImmedEXVAL; // Expression's value
+extern WORD dspImmedEXATTR; // Expression's attribute
+extern SYM * dspImmedESYM; // External symbol involved in expr
+extern int deposit_extra_ea; // Optional effective address extension
// Extra ea deposit modes