4 * (c)Copyright 2015, Matthew Dillon, All Rights Reserved. See the
5 * COPYRIGHT file at the base of the distribution.
8 #define INSN_MOVE 0x0001
9 #define INSN_ADD 0x0002
10 #define INSN_SUB 0x0003
11 #define INSN_AND 0x0004
12 #define INSN_OR 0x0005
13 #define INSN_XOR 0x0006
14 #define INSN_NOT 0x0007
15 #define INSN_COM 0x0008
16 #define INSN_NEG 0x0009
17 #define INSN_POS 0x000A
18 #define INSN_ASL 0x000B
19 #define INSN_ASR 0x000C
20 #define INSN_LSR 0x000D
21 #define INSN_ADDC 0x000E
22 #define INSN_SUBC 0x000F
24 #define INSN_MULU 0x0010
25 #define INSN_MULS 0x0011
26 #define INSN_DIVU 0x0012
27 #define INSN_DIVS 0x0013
28 #define INSN_MODU 0x0014
29 #define INSN_MODS 0x0015
31 #define INSN_CMP_EQ 0x001F
32 #define INSN_CMP_NE 0x011F
33 #define INSN_CMP_UGT 0x021F
34 #define INSN_CMP_UGE 0x031F
35 #define INSN_CMP_ULT 0x041F
36 #define INSN_CMP_ULE 0x051F
37 #define INSN_CMP_SGT 0x061F
38 #define INSN_CMP_SGE 0x071F
39 #define INSN_CMP_SLT 0x081F
40 #define INSN_CMP_SLE 0x091F
42 #define INSN_MOVEA 0x0020
43 #define INSN_ADDA 0x0021
44 #define INSN_SUBA 0x0022
45 #define INSN_ADDAU 0x0023
46 #define INSN_SUBAU 0x0024
47 #define INSN_SUBAI 0x0025
48 #define INSN_LEA 0x0026
50 #define INSN_CASTU 0x0030 /* Cast from unsigned integer -> integral */
51 #define INSN_CASTS 0x0031 /* Cast from signed integer -> integral */
52 #define INSN_CASTP 0x0032 /* Cast from pointer -> integral */
53 #define INSN_PCOPY 0x0033 /* Copy pointer object & ref */
54 #define INSN_PDROP 0x0034 /* Drop pointer object & rel (NULL fields) */
55 #define INSN_PREF 0x0035 /* Reference pointer object target storage */
56 #define INSN_PREL 0x0036 /* Release pointer object target storage */
57 #define INSN_BCOPY 0x0037 /* Generic block copy */
58 #define INSN_BZERO 0x0038 /* Generic block zero */
60 #define INSN_INC 0x003C /* Increment integral value by one */
61 #define INSN_DEC 0x003D /* Decrement integral value by one */
63 #define INSN_CMPA_EQ 0x003F
64 #define INSN_CMPA_NE 0x013F
65 #define INSN_CMPA_UGT 0x023F
66 #define INSN_CMPA_UGE 0x033F
67 #define INSN_CMPA_ULT 0x043F
68 #define INSN_CMPA_ULE 0x053F
69 #define INSN_CMPA_SGT 0x063F
70 #define INSN_CMPA_SGE 0x073F
71 #define INSN_CMPA_SLT 0x083F
72 #define INSN_CMPA_SLE 0x093F
74 #define INSN_BOUNDS_TRAP 0x0040
76 #define INSN_FMOVE 0x0080
77 #define INSN_FADD 0x0081
78 #define INSN_FSUB 0x0082
79 #define INSN_FMUL 0x0083
80 #define INSN_FDIV 0x0084
82 #define INSN_FINC 0x0090
83 #define INSN_FDEC 0x0091
84 #define INSN_FNEG 0x0092
85 #define INSN_FPOS 0x0093
86 #define INSN_FNOT 0x0094
87 #define INSN_FCAST 0x0095
89 #define INSN_UITOF 0x0096 /* unsigned integer to floating */
90 #define INSN_SITOF 0x0097 /* signed integer to floating */
91 #define INSN_FTOUI 0x0098 /* floating to unsigned integer */
92 #define INSN_FTOSI 0x0099 /* floating to signed integer */
94 #define INSN_FCMP_UEQ 0x009F
95 #define INSN_FCMP_UGT 0x029F
96 #define INSN_FCMP_UGE 0x039F
97 #define INSN_FCMP_ULT 0x049F
98 #define INSN_FCMP_ULE 0x059F
99 #define INSN_FCMP_UNE 0x019F