📄 ea.h
字号:
/*
* File: src/cpu/coldfire/mcf5xxx/ea.h
* Purpose: Defintions global to Disassemble and Assemble routines
*
* Notes:
*
*/
#ifndef _EA_H
#define _EA_H
/********************************************************************/
/*
* M68K addressing modes
*/
#define DRD (0x00000001) /* data register direct */
#define ARD (0x00000002) /* address register direct */
#define ARI (0x00000004) /* address register indirect */
#define ARIPO (0x00000008) /* ari with postincrement */
#define ARIPR (0x00000010) /* ari with predecrement */
#define ARID (0x00000020) /* ari with displacement */
#define ARII8 (0x00000040) /* ari with index 8-bit */
#define ARIIB (0x00000080) /* ari with index base */
#define MIPO (0x00000100) /* memory indirect postindexed */
#define MIPR (0x00000200) /* memory indirect preindexed */
#define PCID (0x00000400) /* program counter indirect disp */
#define PCII8 (0x00000800) /* pci with index 8-bit */
#define PCIIB (0x00001000) /* pci with index base */
#define PCMIPO (0x00002000) /* pc memory indirect postindexed */
#define PCMIPR (0x00004000) /* pc memory indirect preindexed */
#define AS (0x00008000) /* absolute short */
#define AL (0x00010000) /* absolute long */
#define IM (0x00020000) /* immediate */
/*
* Addressing mode categories
*/
#define EA_DATA (DRD | ARI | ARIPO | ARIPR | ARID | ARII8 \
| PCID | PCII8 | AS | AL | IM )
#define EA_MEMORY (ARI | ARIPO | ARIPR | ARID | ARII8 \
| PCID | PCII8 | AS | AL | IM )
#define EA_CONTROL (ARI | ARID | ARII8 | PCID | PCII8 | AS | AL )
#define EA_ALTER (DRD | ARD | ARI | ARIPO | ARIPR | ARID | ARII8 )
#define EA_DATA_ALTER (DRD | ARI | ARIPO | ARIPR | ARID | ARII8 )
#define EA_MEM_ALTER (ARI | ARIPO | ARIPR | ARID | ARII8 )
#define EA_CTRL_ALTER (ARI | ARID | ARII8 )
#define EA_ALL (DRD | ARD | ARI | ARIPO | ARIPR | ARID | ARII8 \
| PCID | PCII8 | AS | AL | IM )
#define EA_NONE (0)
#define EA_DATA1 (DRD | ARI | ARIPO | ARIPR | ARID)
#define EA_DATA2 (DRD | IM)
#define EA_DATA3 (DRD | ARI | ARIPO | ARIPR | ARID | ARII8 | AS | AL \
| IM | PCID | PCII8)
#define EA_DATALT1 (DRD | ARI | ARIPO | ARIPR | ARID | ARII8 | AS | AL )
#define EA_DATALT2 (DRD)
#define EA_DATALT3 (DRD | ARI | ARIPO | ARIPR | ARID)
#define EA_ALTER1 (DRD | ARD | ARI | ARIPO | ARIPR | ARID | ARII8 | AS \
| AL)
#define EA_MEMALT1 (ARI | ARIPO | ARIPR | ARID | ARII8 | AS | AL)
#define EA_CTRL1 (ARI | ARID)
#define EA_CTRALT3 (ARI | ARID)
#ifdef CPU_MCF_MAC
#define EA_MAC1 (ARI | ARIPO | ARIPR | ARID)
#define EA_MAC2 (DRD | ARD | IM)
#endif
typedef struct
{
uint16 keepers;
uint16 match;
char *instruction;
int ea_mask;
void (*handler)(int, uint16);
void (*asm_func)(int,uint16);
} INSTRENTRY;
extern const
INSTRENTRY isa[];
typedef struct
{
char name[8];
uint16 code;
} RC;
extern const
RC rc[];
/********************************************************/
/*
* Prototypes for functions in asm.c
*/
void afun1(int, uint16);
void afun2(int, uint16);
void afun3(int, uint16);
void afun4(int, uint16);
void afun5(int, uint16);
void afun6(int, uint16);
void afun7(int, uint16);
void afun8(int, uint16);
void afun9(int, uint16);
void afun10(int, uint16);
void afun11(int, uint16);
void afun12(int, uint16);
void afun13(int, uint16);
void afun14(int, uint16);
void afun15(int, uint16);
void afun15b(int, uint16, int);
void afun16(int, uint16);
void afun17(int, uint16);
void afun18(int, uint16);
void afun19(int, uint16);
void afun20(int, uint16);
void afun21(int, uint16);
void afun22(int, uint16);
void afun23(int, uint16);
void afun24(int, uint16);
void afun25(int, uint16);
void afun26(int, uint16);
void afun27(int, uint16);
void afun28(int, uint16);
void afun29(int, uint16);
void afun30(int, uint16);
void afun31(int, uint16);
void afun32(int, uint16);
void afun33(int, uint16);
void afun34(int, uint16);
void afun35(int, uint16);
void afun36(int, uint16);
void afun37(int, uint16);
#ifdef CMDLINE_ASM
#define AFUN1 afun1
#define AFUN2 afun2
#define AFUN3 afun3
#define AFUN4 afun4
#define AFUN5 afun5
#define AFUN6 afun6
#define AFUN7 afun7
#define AFUN8 afun8
#define AFUN9 afun9
#define AFUN10 afun10
#define AFUN11 afun11
#define AFUN12 afun12
#define AFUN13 afun13
#define AFUN14 afun14
#define AFUN15 afun15
#define AFUN15B afun15b
#define AFUN16 afun16
#define AFUN17 afun17
#define AFUN18 afun18
#define AFUN19 afun19
#define AFUN20 afun20
#define AFUN21 afun21
#define AFUN22 afun22
#define AFUN23 afun23
#define AFUN24 afun24
#define AFUN25 afun25
#define AFUN26 afun26
#define AFUN27 afun27
#define AFUN28 afun28
#define AFUN29 afun29
#define AFUN30 afun30
#define AFUN31 afun31
#define AFUN32 afun32
#define AFUN33 afun33
#define AFUN34 afun34
#define AFUN35 afun35
#define AFUN36 afun36
#define AFUN37 afun37
#else
#define AFUN1 0
#define AFUN2 0
#define AFUN3 0
#define AFUN4 0
#define AFUN5 0
#define AFUN6 0
#define AFUN7 0
#define AFUN8 0
#define AFUN9 0
#define AFUN10 0
#define AFUN11 0
#define AFUN12 0
#define AFUN13 0
#define AFUN14 0
#define AFUN15 0
#define AFUN15B 0
#define AFUN16 0
#define AFUN17 0
#define AFUN18 0
#define AFUN19 0
#define AFUN20 0
#define AFUN21 0
#define AFUN22 0
#define AFUN23 0
#define AFUN24 0
#define AFUN25 0
#define AFUN26 0
#define AFUN27 0
#define AFUN28 0
#define AFUN29 0
#define AFUN30 0
#define AFUN31 0
#define AFUN32 0
#define AFUN33 0
#define AFUN34 0
#define AFUN35 0
#define AFUN36 0
#define AFUN37 0
#endif
#endif /* _EA_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -