📄 armmasks.h
字号:
/*************************************************************************** DSemu - The Next Generation ** Portable ARM cores: Masks and constants [armmasks.h] ** Copyright Imran Nazar, 2005; released under the BSD public licence. ***************************************************************************/#ifndef __ARMMASKS_H#define __ARMMASKS_H//---Opcode masks#define MSK_COND 0xF0000000#define MSK_OP 0x0FF00000#define MSK_OPHI 0x0F000000#define MSK_OPLO 0x00F00000#define MSK_RN 0x000F0000#define MSK_RD 0x0000F000#define MSK_RS 0x00000F00#define MSK_FUNC 0x000000F0#define MSK_RM 0x0000000F#define MSK_IMM8 0x000000FF#define MSK_IMM12 0x00000FFF#define MSK_SHFT 0x00000F80//---Opcode shifts#define SHFT_COND 28#define SHFT_OP 20#define SHFT_OPH 16#define SHFT_RN 16#define SHFT_RD 12#define SHFT_RS 8#define SHFT_FUNC 4#define SHFT_RM 0//---Thumb opcode masks#define TMSK_OP 0xFF00#define TMSK_IMM11 0x07FF#define TMSK_IMM8 0x00FF#define TMSK_IMM7 0x007F#define TMSK_IMM5 0x07C0#define TMSK_RM 0x01C0#define TMSK_RN 0x0038#define TMSK_RD 0x0007//---Thumb opcode shifts#define TSHFT_OP 8#define TSHFT_IMM5 6#define TSHFT_RM 6#define TSHFT_RN 3#define TSHFT_RD 0//---Flag indexes#define FLAG_N 0#define FLAG_Z 1#define FLAG_C 2#define FLAG_V 3#define FLAG_T 4#define FLAG_Q 5//---CPSR bit masks#define CPSR_N 0x80000000#define CPSR_Z 0x40000000#define CPSR_C 0x20000000#define CPSR_V 0x10000000#define CPSR_Q 0x08000000#define CPSR_I 0x00000080#define CPSR_F 0x00000040#define CPSR_T 0x00000020#define CPSR_M 0x0000001F#define CPSR_MUSR 0x00000010#define CPSR_MFIQ 0x00000011#define CPSR_MIRQ 0x00000012#define CPSR_MSVC 0x00000013#define CPSR_MABT 0x00000017#define CPSR_MUND 0x0000001B#define CPSR_MSYS 0x0000001F//---Internal mode IDs#define MODE_USR 0#define MODE_FIQ 1#define MODE_IRQ 2#define MODE_SVC 3#define MODE_ABT 4#define MODE_UND 5#define MODE_SYS 6//---Exception vectors#define VEC_RST 0x00000000#define VEC_UND 0x00000004#define VEC_SWI 0x00000008#define VEC_ABI 0x0000000C#define VEC_ABD 0x00000010#define VEC_RSV 0x00000014#define VEC_IRQ 0x00000018#define VEC_FIQ 0x0000001C#endif//__ARMMASKS_H/*** EOF: armmasks.h *****************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -