2 * Author: Humberto Naves (hsnaves@gmail.com)
8 #define INSN_READ_GPR_S 0x00000001
9 #define INSN_READ_GPR_T 0x00000002
10 #define INSN_READ_GPR_D 0x00000004
11 #define INSN_READ_FPR_S 0x00000008
12 #define INSN_READ_FPR_T 0x00000010
13 #define INSN_READ_COND_CODE 0x00000020
14 #define INSN_READ_HI 0x00000040
15 #define INSN_READ_LO 0x00000080
16 #define INSN_WRITE_GPR_D 0x00000100
17 #define INSN_WRITE_GPR_T 0x00000200
18 #define INSN_WRITE_FPR_D 0x00000400
19 #define INSN_WRITE_FPR_T 0x00000800
20 #define INSN_WRITE_COND_CODE 0x00001000
21 #define INSN_WRITE_HI 0x00002000
22 #define INSN_WRITE_LO 0x00004000
23 #define INSN_JUMP 0x00008000
24 #define INSN_BRANCH 0x00010000
25 #define INSN_BRANCHLIKELY 0x00020000
26 #define INSN_LINK 0x00040000
27 #define INSN_LOAD 0x00080000
28 #define INSN_STORE 0x00100000
30 #define INSN_ALLEGREX 0x00000000
31 #define INSN_SPECIAL 0x01000000
32 #define INSN_DEBUG 0x02000000
33 #define INSN_COP0 0x03000000
34 #define INSN_FPU 0x04000000
35 #define INSN_VFPU 0x05000000
37 #define INSN_TYPE(flags) ((flags) & 0x0F000000)
39 #define INSN_ALIAS 0x80000000
457 struct allegrex_instruction
459 enum allegrex_insn insn
;
467 extern const char *gpr_names
[];
469 char *allegrex_disassemble (unsigned int opcode
, unsigned int PC
, int prtall
);
470 const struct allegrex_instruction
*allegrex_decode (unsigned int opcode
, int allowalias
);
472 #endif /* __ALLEGREX_H */