blob: b2c1fa6007eb3d6b9e190628d88acc54592d826d [file] [log] [blame]
Carl Shapirod84f49c2011-06-29 00:27:46 -07001// Copyright 2011 Google Inc. All Rights Reserved.
2
3#define DEX_INSTRUCTION_LIST(V) \
Carl Shapiroe4c1ce42011-07-09 02:31:57 -07004 V(0x00, NOP, "nop", k10x, false, kNone, kContinue) \
5 V(0x01, MOVE, "move", k12x, true, kNone, kContinue) \
6 V(0x02, MOVE_FROM16, "move/from16", k22x, true, kNone, kContinue) \
7 V(0x03, MOVE_16, "move/16", k32x, true, kNone, kContinue) \
8 V(0x04, MOVE_WIDE, "move-wide", k12x, true, kNone, kContinue) \
9 V(0x05, MOVE_WIDE_FROM16, "move-wide/from16", k22x, true, kNone, kContinue) \
10 V(0x06, MOVE_WIDE_16, "move-wide/16", k32x, true, kNone, kContinue) \
11 V(0x07, MOVE_OBJECT, "move-object", k12x, true, kNone, kContinue) \
12 V(0x08, MOVE_OBJECT_FROM16, "move-object/from16", k22x, true, kNone, kContinue) \
13 V(0x09, MOVE_OBJECT_16, "move-object/16", k32x, true, kNone, kContinue) \
14 V(0x0A, MOVE_RESULT, "move-result", k11x, true, kNone, kContinue) \
15 V(0x0B, MOVE_RESULT_WIDE, "move-result-wide", k11x, true, kNone, kContinue) \
16 V(0x0C, MOVE_RESULT_OBJECT, "move-result-object", k11x, true, kNone, kContinue) \
17 V(0x0D, MOVE_EXCEPTION, "move-exception", k11x, true, kNone, kContinue) \
18 V(0x0E, RETURN_VOID, "return-void", k10x, false, kNone, kReturn) \
19 V(0x0F, RETURN, "return", k11x, false, kNone, kReturn) \
20 V(0x10, RETURN_WIDE, "return-wide", k11x, false, kNone, kReturn) \
21 V(0x11, RETURN_OBJECT, "return-object", k11x, false, kNone, kReturn) \
22 V(0x12, CONST_4, "const/4", k11n, true, kNone, kContinue) \
23 V(0x13, CONST_16, "const/16", k21s, true, kNone, kContinue) \
24 V(0x14, CONST, "const", k31i, true, kNone, kContinue) \
25 V(0x15, CONST_HIGH16, "const/high16", k21h, true, kNone, kContinue) \
26 V(0x16, CONST_WIDE_16, "const-wide/16", k21s, true, kNone, kContinue) \
27 V(0x17, CONST_WIDE_32, "const-wide/32", k31i, true, kNone, kContinue) \
28 V(0x18, CONST_WIDE, "const-wide", k51l, true, kNone, kContinue) \
29 V(0x19, CONST_WIDE_HIGH16, "const-wide/high16", k21h, true, kNone, kContinue) \
30 V(0x1A, CONST_STRING, "const-string", k21c, true, kStringRef, kContinue | kThrow) \
31 V(0x1B, CONST_STRING_JUMBO, "const-string/jumbo", k31c, true, kStringRef, kContinue | kThrow) \
32 V(0x1C, CONST_CLASS, "const-class", k21c, true, kTypeRef, kContinue | kThrow) \
33 V(0x1D, MONITOR_ENTER, "monitor-enter", k11x, false, kNone, kContinue | kThrow) \
34 V(0x1E, MONITOR_EXIT, "monitor-exit", k11x, false, kNone, kContinue | kThrow) \
35 V(0x1F, CHECK_CAST, "check-cast", k21c, true, kTypeRef, kContinue | kThrow) \
36 V(0x20, INSTANCE_OF, "instance-of", k22c, true, kTypeRef, kContinue | kThrow) \
37 V(0x21, ARRAY_LENGTH, "array-length", k12x, true, kNone, kContinue | kThrow) \
38 V(0x22, NEW_INSTANCE, "new-instance", k21c, true, kTypeRef, kContinue | kThrow) \
39 V(0x23, NEW_ARRAY, "new-array", k22c, true, kTypeRef, kContinue | kThrow) \
40 V(0x24, FILLED_NEW_ARRAY, "filled-new-array", k35c, false, kTypeRef, kContinue | kThrow) \
41 V(0x25, FILLED_NEW_ARRAY_RANGE, "filled-new-array/range", k3rc, false, kTypeRef, kContinue | kThrow) \
42 V(0x26, FILL_ARRAY_DATA, "fill-array-data", k31t, false, kNone, kContinue) \
43 V(0x27, THROW, "throw", k11x, false, kNone, kThrow) \
44 V(0x28, GOTO, "goto", k10t, false, kNone, kBranch) \
45 V(0x29, GOTO_16, "goto/16", k20t, false, kNone, kBranch) \
46 V(0x2A, GOTO_32, "goto/32", k30t, false, kNone, kBranch) \
47 V(0x2B, PACKED_SWITCH, "packed-switch", k31t, false, kNone, kContinue | kSwitch) \
48 V(0x2C, SPARSE_SWITCH, "sparse-switch", k31t, false, kNone, kContinue | kSwitch) \
49 V(0x2D, CMPL_FLOAT, "cmpl-float", k23x, true, kNone, kContinue) \
50 V(0x2E, CMPG_FLOAT, "cmpg-float", k23x, true, kNone, kContinue) \
51 V(0x2F, CMPL_DOUBLE, "cmpl-double", k23x, true, kNone, kContinue) \
52 V(0x30, CMPG_DOUBLE, "cmpg-double", k23x, true, kNone, kContinue) \
53 V(0x31, CMP_LONG, "cmp-long", k23x, true, kNone, kContinue) \
54 V(0x32, IF_EQ, "if-eq", k22t, false, kNone, kContinue | kBranch) \
55 V(0x33, IF_NE, "if-ne", k22t, false, kNone, kContinue | kBranch) \
56 V(0x34, IF_LT, "if-lt", k22t, false, kNone, kContinue | kBranch) \
57 V(0x35, IF_GE, "if-ge", k22t, false, kNone, kContinue | kBranch) \
58 V(0x36, IF_GT, "if-gt", k22t, false, kNone, kContinue | kBranch) \
59 V(0x37, IF_LE, "if-le", k22t, false, kNone, kContinue | kBranch) \
60 V(0x38, IF_EQZ, "if-eqz", k21t, false, kNone, kContinue | kBranch) \
61 V(0x39, IF_NEZ, "if-nez", k21t, false, kNone, kContinue | kBranch) \
62 V(0x3A, IF_LTZ, "if-ltz", k21t, false, kNone, kContinue | kBranch) \
63 V(0x3B, IF_GEZ, "if-gez", k21t, false, kNone, kContinue | kBranch) \
64 V(0x3C, IF_GTZ, "if-gtz", k21t, false, kNone, kContinue | kBranch) \
65 V(0x3D, IF_LEZ, "if-lez", k21t, false, kNone, kContinue | kBranch) \
66 V(0x3E, UNUSED_3E, "unused-3e", k10x, false, kUnknown, 0) \
67 V(0x3F, UNUSED_3F, "unused-3f", k10x, false, kUnknown, 0) \
68 V(0x40, UNUSED_40, "unused-40", k10x, false, kUnknown, 0) \
69 V(0x41, UNUSED_41, "unused-41", k10x, false, kUnknown, 0) \
70 V(0x42, UNUSED_42, "unused-42", k10x, false, kUnknown, 0) \
71 V(0x43, UNUSED_43, "unused-43", k10x, false, kUnknown, 0) \
72 V(0x44, AGET, "aget", k23x, true, kNone, kContinue | kThrow) \
73 V(0x45, AGET_WIDE, "aget-wide", k23x, true, kNone, kContinue | kThrow) \
74 V(0x46, AGET_OBJECT, "aget-object", k23x, true, kNone, kContinue | kThrow) \
75 V(0x47, AGET_BOOLEAN, "aget-boolean", k23x, true, kNone, kContinue | kThrow) \
76 V(0x48, AGET_BYTE, "aget-byte", k23x, true, kNone, kContinue | kThrow) \
77 V(0x49, AGET_CHAR, "aget-char", k23x, true, kNone, kContinue | kThrow) \
78 V(0x4A, AGET_SHORT, "aget-short", k23x, true, kNone, kContinue | kThrow) \
79 V(0x4B, APUT, "aput", k23x, false, kNone, kContinue | kThrow) \
80 V(0x4C, APUT_WIDE, "aput-wide", k23x, false, kNone, kContinue | kThrow) \
81 V(0x4D, APUT_OBJECT, "aput-object", k23x, false, kNone, kContinue | kThrow) \
82 V(0x4E, APUT_BOOLEAN, "aput-boolean", k23x, false, kNone, kContinue | kThrow) \
83 V(0x4F, APUT_BYTE, "aput-byte", k23x, false, kNone, kContinue | kThrow) \
84 V(0x50, APUT_CHAR, "aput-char", k23x, false, kNone, kContinue | kThrow) \
85 V(0x51, APUT_SHORT, "aput-short", k23x, false, kNone, kContinue | kThrow) \
86 V(0x52, IGET, "iget", k22c, true, kFieldRef, kContinue | kThrow) \
87 V(0x53, IGET_WIDE, "iget-wide", k22c, true, kFieldRef, kContinue | kThrow) \
88 V(0x54, IGET_OBJECT, "iget-object", k22c, true, kFieldRef, kContinue | kThrow) \
89 V(0x55, IGET_BOOLEAN, "iget-boolean", k22c, true, kFieldRef, kContinue | kThrow) \
90 V(0x56, IGET_BYTE, "iget-byte", k22c, true, kFieldRef, kContinue | kThrow) \
91 V(0x57, IGET_CHAR, "iget-char", k22c, true, kFieldRef, kContinue | kThrow) \
92 V(0x58, IGET_SHORT, "iget-short", k22c, true, kFieldRef, kContinue | kThrow) \
93 V(0x59, IPUT, "iput", k22c, false, kFieldRef, kContinue | kThrow) \
94 V(0x5A, IPUT_WIDE, "iput-wide", k22c, false, kFieldRef, kContinue | kThrow) \
95 V(0x5B, IPUT_OBJECT, "iput-object", k22c, false, kFieldRef, kContinue | kThrow) \
96 V(0x5C, IPUT_BOOLEAN, "iput-boolean", k22c, false, kFieldRef, kContinue | kThrow) \
97 V(0x5D, IPUT_BYTE, "iput-byte", k22c, false, kFieldRef, kContinue | kThrow) \
98 V(0x5E, IPUT_CHAR, "iput-char", k22c, false, kFieldRef, kContinue | kThrow) \
99 V(0x5F, IPUT_SHORT, "iput-short", k22c, false, kFieldRef, kContinue | kThrow) \
100 V(0x60, SGET, "sget", k21c, true, kFieldRef, kContinue | kThrow) \
101 V(0x61, SGET_WIDE, "sget-wide", k21c, true, kFieldRef, kContinue | kThrow) \
102 V(0x62, SGET_OBJECT, "sget-object", k21c, true, kFieldRef, kContinue | kThrow) \
103 V(0x63, SGET_BOOLEAN, "sget-boolean", k21c, true, kFieldRef, kContinue | kThrow) \
104 V(0x64, SGET_BYTE, "sget-byte", k21c, true, kFieldRef, kContinue | kThrow) \
105 V(0x65, SGET_CHAR, "sget-char", k21c, true, kFieldRef, kContinue | kThrow) \
106 V(0x66, SGET_SHORT, "sget-short", k21c, true, kFieldRef, kContinue | kThrow) \
107 V(0x67, SPUT, "sput", k21c, false, kFieldRef, kContinue | kThrow) \
108 V(0x68, SPUT_WIDE, "sput-wide", k21c, false, kFieldRef, kContinue | kThrow) \
109 V(0x69, SPUT_OBJECT, "sput-object", k21c, false, kFieldRef, kContinue | kThrow) \
110 V(0x6A, SPUT_BOOLEAN, "sput-boolean", k21c, false, kFieldRef, kContinue | kThrow) \
111 V(0x6B, SPUT_BYTE, "sput-byte", k21c, false, kFieldRef, kContinue | kThrow) \
112 V(0x6C, SPUT_CHAR, "sput-char", k21c, false, kFieldRef, kContinue | kThrow) \
113 V(0x6D, SPUT_SHORT, "sput-short", k21c, false, kFieldRef, kContinue | kThrow) \
114 V(0x6E, INVOKE_VIRTUAL, "invoke-virtual", k35c, false, kMethodRef, kContinue | kThrow | kInvoke) \
115 V(0x6F, INVOKE_SUPER, "invoke-super", k35c, false, kMethodRef, kContinue | kThrow | kInvoke) \
116 V(0x70, INVOKE_DIRECT, "invoke-direct", k35c, false, kMethodRef, kContinue | kThrow | kInvoke) \
117 V(0x71, INVOKE_STATIC, "invoke-static", k35c, false, kMethodRef, kContinue | kThrow | kInvoke) \
118 V(0x72, INVOKE_INTERFACE, "invoke-interface", k35c, false, kMethodRef, kContinue | kThrow | kInvoke) \
119 V(0x73, UNUSED_73, "unused-73", k10x, false, kUnknown, 0) \
120 V(0x74, INVOKE_VIRTUAL_RANGE, "invoke-virtual/range", k3rc, false, kMethodRef, kContinue | kThrow | kInvoke) \
121 V(0x75, INVOKE_SUPER_RANGE, "invoke-super/range", k3rc, false, kMethodRef, kContinue | kThrow | kInvoke) \
122 V(0x76, INVOKE_DIRECT_RANGE, "invoke-direct/range", k3rc, false, kMethodRef, kContinue | kThrow | kInvoke) \
123 V(0x77, INVOKE_STATIC_RANGE, "invoke-static/range", k3rc, false, kMethodRef, kContinue | kThrow | kInvoke) \
124 V(0x78, INVOKE_INTERFACE_RANGE, "invoke-interface/range", k3rc, false, kMethodRef, kContinue | kThrow | kInvoke) \
125 V(0x79, UNUSED_79, "unused-79", k10x, false, kUnknown, 0) \
126 V(0x7A, UNUSED_7A, "unused-7a", k10x, false, kUnknown, 0) \
127 V(0x7B, NEG_INT, "neg-int", k12x, true, kNone, kContinue) \
128 V(0x7C, NOT_INT, "not-int", k12x, true, kNone, kContinue) \
129 V(0x7D, NEG_LONG, "neg-long", k12x, true, kNone, kContinue) \
130 V(0x7E, NOT_LONG, "not-long", k12x, true, kNone, kContinue) \
131 V(0x7F, NEG_FLOAT, "neg-float", k12x, true, kNone, kContinue) \
132 V(0x80, NEG_DOUBLE, "neg-double", k12x, true, kNone, kContinue) \
133 V(0x81, INT_TO_LONG, "int-to-long", k12x, true, kNone, kContinue) \
134 V(0x82, INT_TO_FLOAT, "int-to-float", k12x, true, kNone, kContinue) \
135 V(0x83, INT_TO_DOUBLE, "int-to-double", k12x, true, kNone, kContinue) \
136 V(0x84, LONG_TO_INT, "long-to-int", k12x, true, kNone, kContinue) \
137 V(0x85, LONG_TO_FLOAT, "long-to-float", k12x, true, kNone, kContinue) \
138 V(0x86, LONG_TO_DOUBLE, "long-to-double", k12x, true, kNone, kContinue) \
139 V(0x87, FLOAT_TO_INT, "float-to-int", k12x, true, kNone, kContinue) \
140 V(0x88, FLOAT_TO_LONG, "float-to-long", k12x, true, kNone, kContinue) \
141 V(0x89, FLOAT_TO_DOUBLE, "float-to-double", k12x, true, kNone, kContinue) \
142 V(0x8A, DOUBLE_TO_INT, "double-to-int", k12x, true, kNone, kContinue) \
143 V(0x8B, DOUBLE_TO_LONG, "double-to-long", k12x, true, kNone, kContinue) \
144 V(0x8C, DOUBLE_TO_FLOAT, "double-to-float", k12x, true, kNone, kContinue) \
145 V(0x8D, INT_TO_BYTE, "int-to-byte", k12x, true, kNone, kContinue) \
146 V(0x8E, INT_TO_CHAR, "int-to-char", k12x, true, kNone, kContinue) \
147 V(0x8F, INT_TO_SHORT, "int-to-short", k12x, true, kNone, kContinue) \
148 V(0x90, ADD_INT, "add-int", k23x, true, kNone, kContinue) \
149 V(0x91, SUB_INT, "sub-int", k23x, true, kNone, kContinue) \
150 V(0x92, MUL_INT, "mul-int", k23x, true, kNone, kContinue) \
151 V(0x93, DIV_INT, "div-int", k23x, true, kNone, kContinue | kThrow) \
152 V(0x94, REM_INT, "rem-int", k23x, true, kNone, kContinue | kThrow) \
153 V(0x95, AND_INT, "and-int", k23x, true, kNone, kContinue) \
154 V(0x96, OR_INT, "or-int", k23x, true, kNone, kContinue) \
155 V(0x97, XOR_INT, "xor-int", k23x, true, kNone, kContinue) \
156 V(0x98, SHL_INT, "shl-int", k23x, true, kNone, kContinue) \
157 V(0x99, SHR_INT, "shr-int", k23x, true, kNone, kContinue) \
158 V(0x9A, USHR_INT, "ushr-int", k23x, true, kNone, kContinue) \
159 V(0x9B, ADD_LONG, "add-long", k23x, true, kNone, kContinue) \
160 V(0x9C, SUB_LONG, "sub-long", k23x, true, kNone, kContinue) \
161 V(0x9D, MUL_LONG, "mul-long", k23x, true, kNone, kContinue) \
162 V(0x9E, DIV_LONG, "div-long", k23x, true, kNone, kContinue | kThrow) \
163 V(0x9F, REM_LONG, "rem-long", k23x, true, kNone, kContinue | kThrow) \
164 V(0xA0, AND_LONG, "and-long", k23x, true, kNone, kContinue) \
165 V(0xA1, OR_LONG, "or-long", k23x, true, kNone, kContinue) \
166 V(0xA2, XOR_LONG, "xor-long", k23x, true, kNone, kContinue) \
167 V(0xA3, SHL_LONG, "shl-long", k23x, true, kNone, kContinue) \
168 V(0xA4, SHR_LONG, "shr-long", k23x, true, kNone, kContinue) \
169 V(0xA5, USHR_LONG, "ushr-long", k23x, true, kNone, kContinue) \
170 V(0xA6, ADD_FLOAT, "add-float", k23x, true, kNone, kContinue) \
171 V(0xA7, SUB_FLOAT, "sub-float", k23x, true, kNone, kContinue) \
172 V(0xA8, MUL_FLOAT, "mul-float", k23x, true, kNone, kContinue) \
173 V(0xA9, DIV_FLOAT, "div-float", k23x, true, kNone, kContinue) \
174 V(0xAA, REM_FLOAT, "rem-float", k23x, true, kNone, kContinue) \
175 V(0xAB, ADD_DOUBLE, "add-double", k23x, true, kNone, kContinue) \
176 V(0xAC, SUB_DOUBLE, "sub-double", k23x, true, kNone, kContinue) \
177 V(0xAD, MUL_DOUBLE, "mul-double", k23x, true, kNone, kContinue) \
178 V(0xAE, DIV_DOUBLE, "div-double", k23x, true, kNone, kContinue) \
179 V(0xAF, REM_DOUBLE, "rem-double", k23x, true, kNone, kContinue) \
180 V(0xB0, ADD_INT_2ADDR, "add-int/2addr", k12x, true, kNone, kContinue) \
181 V(0xB1, SUB_INT_2ADDR, "sub-int/2addr", k12x, true, kNone, kContinue) \
182 V(0xB2, MUL_INT_2ADDR, "mul-int/2addr", k12x, true, kNone, kContinue) \
183 V(0xB3, DIV_INT_2ADDR, "div-int/2addr", k12x, true, kNone, kContinue | kThrow) \
184 V(0xB4, REM_INT_2ADDR, "rem-int/2addr", k12x, true, kNone, kContinue | kThrow) \
185 V(0xB5, AND_INT_2ADDR, "and-int/2addr", k12x, true, kNone, kContinue) \
186 V(0xB6, OR_INT_2ADDR, "or-int/2addr", k12x, true, kNone, kContinue) \
187 V(0xB7, XOR_INT_2ADDR, "xor-int/2addr", k12x, true, kNone, kContinue) \
188 V(0xB8, SHL_INT_2ADDR, "shl-int/2addr", k12x, true, kNone, kContinue) \
189 V(0xB9, SHR_INT_2ADDR, "shr-int/2addr", k12x, true, kNone, kContinue) \
190 V(0xBA, USHR_INT_2ADDR, "ushr-int/2addr", k12x, true, kNone, kContinue) \
191 V(0xBB, ADD_LONG_2ADDR, "add-long/2addr", k12x, true, kNone, kContinue) \
192 V(0xBC, SUB_LONG_2ADDR, "sub-long/2addr", k12x, true, kNone, kContinue) \
193 V(0xBD, MUL_LONG_2ADDR, "mul-long/2addr", k12x, true, kNone, kContinue) \
194 V(0xBE, DIV_LONG_2ADDR, "div-long/2addr", k12x, true, kNone, kContinue | kThrow) \
195 V(0xBF, REM_LONG_2ADDR, "rem-long/2addr", k12x, true, kNone, kContinue | kThrow) \
196 V(0xC0, AND_LONG_2ADDR, "and-long/2addr", k12x, true, kNone, kContinue) \
197 V(0xC1, OR_LONG_2ADDR, "or-long/2addr", k12x, true, kNone, kContinue) \
198 V(0xC2, XOR_LONG_2ADDR, "xor-long/2addr", k12x, true, kNone, kContinue) \
199 V(0xC3, SHL_LONG_2ADDR, "shl-long/2addr", k12x, true, kNone, kContinue) \
200 V(0xC4, SHR_LONG_2ADDR, "shr-long/2addr", k12x, true, kNone, kContinue) \
201 V(0xC5, USHR_LONG_2ADDR, "ushr-long/2addr", k12x, true, kNone, kContinue) \
202 V(0xC6, ADD_FLOAT_2ADDR, "add-float/2addr", k12x, true, kNone, kContinue) \
203 V(0xC7, SUB_FLOAT_2ADDR, "sub-float/2addr", k12x, true, kNone, kContinue) \
204 V(0xC8, MUL_FLOAT_2ADDR, "mul-float/2addr", k12x, true, kNone, kContinue) \
205 V(0xC9, DIV_FLOAT_2ADDR, "div-float/2addr", k12x, true, kNone, kContinue) \
206 V(0xCA, REM_FLOAT_2ADDR, "rem-float/2addr", k12x, true, kNone, kContinue) \
207 V(0xCB, ADD_DOUBLE_2ADDR, "add-double/2addr", k12x, true, kNone, kContinue) \
208 V(0xCC, SUB_DOUBLE_2ADDR, "sub-double/2addr", k12x, true, kNone, kContinue) \
209 V(0xCD, MUL_DOUBLE_2ADDR, "mul-double/2addr", k12x, true, kNone, kContinue) \
210 V(0xCE, DIV_DOUBLE_2ADDR, "div-double/2addr", k12x, true, kNone, kContinue) \
211 V(0xCF, REM_DOUBLE_2ADDR, "rem-double/2addr", k12x, true, kNone, kContinue) \
212 V(0xD0, ADD_INT_LIT16, "add-int/lit16", k22s, true, kNone, kContinue) \
213 V(0xD1, RSUB_INT, "rsub-int", k22s, true, kNone, kContinue) \
214 V(0xD2, MUL_INT_LIT16, "mul-int/lit16", k22s, true, kNone, kContinue) \
215 V(0xD3, DIV_INT_LIT16, "div-int/lit16", k22s, true, kNone, kContinue | kThrow) \
216 V(0xD4, REM_INT_LIT16, "rem-int/lit16", k22s, true, kNone, kContinue | kThrow) \
217 V(0xD5, AND_INT_LIT16, "and-int/lit16", k22s, true, kNone, kContinue) \
218 V(0xD6, OR_INT_LIT16, "or-int/lit16", k22s, true, kNone, kContinue) \
219 V(0xD7, XOR_INT_LIT16, "xor-int/lit16", k22s, true, kNone, kContinue) \
220 V(0xD8, ADD_INT_LIT8, "add-int/lit8", k22b, true, kNone, kContinue) \
221 V(0xD9, RSUB_INT_LIT8, "rsub-int/lit8", k22b, true, kNone, kContinue) \
222 V(0xDA, MUL_INT_LIT8, "mul-int/lit8", k22b, true, kNone, kContinue) \
223 V(0xDB, DIV_INT_LIT8, "div-int/lit8", k22b, true, kNone, kContinue | kThrow) \
224 V(0xDC, REM_INT_LIT8, "rem-int/lit8", k22b, true, kNone, kContinue | kThrow) \
225 V(0xDD, AND_INT_LIT8, "and-int/lit8", k22b, true, kNone, kContinue) \
226 V(0xDE, OR_INT_LIT8, "or-int/lit8", k22b, true, kNone, kContinue) \
227 V(0xDF, XOR_INT_LIT8, "xor-int/lit8", k22b, true, kNone, kContinue) \
228 V(0xE0, SHL_INT_LIT8, "shl-int/lit8", k22b, true, kNone, kContinue) \
229 V(0xE1, SHR_INT_LIT8, "shr-int/lit8", k22b, true, kNone, kContinue) \
230 V(0xE2, USHR_INT_LIT8, "ushr-int/lit8", k22b, true, kNone, kContinue) \
231 V(0xE3, UNUSED_E3, "unused-e3", k10x, false, kUnknown, 0) \
232 V(0xE4, UNUSED_E4, "unused-e4", k10x, false, kUnknown, 0) \
233 V(0xE5, UNUSED_E5, "unused-e5", k10x, false, kUnknown, 0) \
234 V(0xE6, UNUSED_E6, "unused-e6", k10x, false, kUnknown, 0) \
235 V(0xE7, UNUSED_E7, "unused-e7", k10x, false, kUnknown, 0) \
236 V(0xE8, UNUSED_E8, "unused-e8", k10x, false, kUnknown, 0) \
237 V(0xE9, UNUSED_E9, "unused-e9", k10x, false, kUnknown, 0) \
238 V(0xEA, UNUSED_EA, "unused-ea", k10x, false, kUnknown, 0) \
239 V(0xEB, UNUSED_EB, "unused-eb", k10x, false, kUnknown, 0) \
240 V(0xEC, UNUSED_EC, "unused-ec", k10x, false, kUnknown, 0) \
241 V(0xED, UNUSED_ED, "unused-ed", k10x, false, kUnknown, 0) \
242 V(0xEE, UNUSED_EE, "unused-ee", k10x, false, kUnknown, 0) \
243 V(0xEF, UNUSED_EF, "unused-ef", k10x, false, kUnknown, 0) \
244 V(0xF0, UNUSED_F0, "unused-f0", k10x, false, kUnknown, 0) \
245 V(0xF1, UNUSED_F1, "unused-f1", k10x, false, kUnknown, 0) \
246 V(0xF2, UNUSED_F2, "unused-f2", k10x, false, kUnknown, 0) \
247 V(0xF3, UNUSED_F3, "unused-f3", k10x, false, kUnknown, 0) \
248 V(0xF4, UNUSED_F4, "unused-f4", k10x, false, kUnknown, 0) \
249 V(0xF5, UNUSED_F5, "unused-f5", k10x, false, kUnknown, 0) \
250 V(0xF6, UNUSED_F6, "unused-f6", k10x, false, kUnknown, 0) \
251 V(0xF7, UNUSED_F7, "unused-f7", k10x, false, kUnknown, 0) \
252 V(0xF8, UNUSED_F8, "unused-f8", k10x, false, kUnknown, 0) \
253 V(0xF9, UNUSED_F9, "unused-f9", k10x, false, kUnknown, 0) \
254 V(0xFA, UNUSED_FA, "unused-fa", k10x, false, kUnknown, 0) \
255 V(0xFB, UNUSED_FB, "unused-fb", k10x, false, kUnknown, 0) \
256 V(0xFC, UNUSED_FC, "unused-fc", k10x, false, kUnknown, 0) \
257 V(0xFD, UNUSED_FD, "unused-fd", k10x, false, kUnknown, 0) \
258 V(0xFE, UNUSED_FE, "unused-fe", k10x, false, kUnknown, 0) \
259 V(0xFF, UNUSED_FF, "unused-ff", k10x, false, kUnknown, 0)