X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=dsp56k_amode.h;h=8b78d2dfdee5d923191db360e3be81ab75fff7da;hp=03ae9620d0450ee05a542b090580c72aa8b338ba;hb=HEAD;hpb=30a208654896284b50e7b362e97d3e63ec717b96 diff --git a/dsp56k_amode.h b/dsp56k_amode.h index 03ae962..5f2d53f 100644 --- a/dsp56k_amode.h +++ b/dsp56k_amode.h @@ -1,7 +1,7 @@ // -// 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 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 // @@ -73,15 +73,15 @@ // 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 @@ -95,41 +95,41 @@ MNTABDSP { }; // 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