⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ea.h

📁 飞思卡尔的MC5271的写flash软件。
💻 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 + -