1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
6 #define ILDUMP_VOID BYTE
8 IL_OPCODE(0x00, "nop ", 0, ILDUMP_VOID, "", 0)
9 IL_OPCODE(0x01, "break ", 0, ILDUMP_VOID, "", 0)
10 IL_OPCODE(0x02, "ldarg.0 ", 0, ILDUMP_VOID, "", 0)
11 IL_OPCODE(0x03, "ldarg.1 ", 0, ILDUMP_VOID, "", 0)
12 IL_OPCODE(0x04, "ldarg.2 ", 0, ILDUMP_VOID, "", 0)
13 IL_OPCODE(0x05, "ldarg.3 ", 0, ILDUMP_VOID, "", 0)
14 IL_OPCODE(0x06, "ldloc.0 ", 0, ILDUMP_VOID, "", 0)
15 IL_OPCODE(0x07, "ldloc.1 ", 0, ILDUMP_VOID, "", 0)
16 IL_OPCODE(0x08, "ldloc.2 ", 0, ILDUMP_VOID, "", 0)
17 IL_OPCODE(0x09, "ldloc.3 ", 0, ILDUMP_VOID, "", 0)
18 IL_OPCODE(0x0a, "stloc.0 ", 0, ILDUMP_VOID, "", 0)
19 IL_OPCODE(0x0b, "stloc.1 ", 0, ILDUMP_VOID, "", 0)
20 IL_OPCODE(0x0c, "stloc.2 ", 0, ILDUMP_VOID, "", 0)
21 IL_OPCODE(0x0d, "stloc.3 ", 0, ILDUMP_VOID, "", 0)
22 IL_OPCODE(0x0e, "ldarg.s ", 1, BYTE, "%d", 0)
23 IL_OPCODE(0x0f, "ldarga.s ", 1, BYTE, "%d", 0)
24 IL_OPCODE(0x10, "starg.s ", 1, BYTE, "%d", 0)
25 IL_OPCODE(0x11, "ldloc.s ", 1, BYTE, "%d", 0)
26 IL_OPCODE(0x12, "ldloca.s ", 1, BYTE, "%d", 0)
27 IL_OPCODE(0x13, "stloc.s ", 1, BYTE, "%d", 0)
28 IL_OPCODE(0x14, "ldnull ", 0, ILDUMP_VOID, "", 0)
29 IL_OPCODE(0x15, "ldc.i4.m1 ", 0, ILDUMP_VOID, "", 0)
30 IL_OPCODE(0x16, "ldc.i4.0 ", 0, ILDUMP_VOID, "", 0)
31 IL_OPCODE(0x17, "ldc.i4.1 ", 0, ILDUMP_VOID, "", 0)
32 IL_OPCODE(0x18, "ldc.i4.2 ", 0, ILDUMP_VOID, "", 0)
33 IL_OPCODE(0x19, "ldc.i4.3 ", 0, ILDUMP_VOID, "", 0)
34 IL_OPCODE(0x1a, "ldc.i4.4 ", 0, ILDUMP_VOID, "", 0)
35 IL_OPCODE(0x1b, "ldc.i4.5 ", 0, ILDUMP_VOID, "", 0)
36 IL_OPCODE(0x1c, "ldc.i4.6 ", 0, ILDUMP_VOID, "", 0)
37 IL_OPCODE(0x1d, "ldc.i4.7 ", 0, ILDUMP_VOID, "", 0)
38 IL_OPCODE(0x1e, "ldc.i4.8 ", 0, ILDUMP_VOID, "", 0)
39 IL_OPCODE(0x1f, "ldc.i4.s ", 1, BYTE, "%d", 0)
40 IL_OPCODE(0x20, "ldc.i4 ", 4, UNALIGNED INT32, "0x%08x", 0)
41 IL_OPCODE(0x21, "ldc.i8 ", 8, UNALIGNED INT64, "0x%I64x", 0)
42 IL_OPCODE(0x22, "ldc.r4 ", 4, UNALIGNED INT32, "0x%08x", 0)
43 IL_OPCODE(0x23, "ldc.r8 ", 8, UNALIGNED INT64, "0x%I64x", 0)
44 IL_OPCODE(0x25, "dup ", 0, ILDUMP_VOID, "", 0)
45 IL_OPCODE(0x26, "pop ", 0, ILDUMP_VOID, "", 0)
46 IL_OPCODE(0x27, "jmp ", 4, UNALIGNED INT32, "0x%08x", 0)
47 IL_OPCODE(0x28, "call ", 4, UNALIGNED INT32, "0x%08x", 1)
48 IL_OPCODE(0x29, "calli ", 4, UNALIGNED INT32, "0x%08x", 1)
49 IL_OPCODE(0x2a, "ret ", 0, ILDUMP_VOID, "", 0)
50 IL_OPCODE(0x2b, "br.s ", 1, BYTE, "%d", 0)
51 IL_OPCODE(0x2c, "brfalse.s ", 1, BYTE, "%d", 0)
52 IL_OPCODE(0x2d, "brtrue.s ", 1, BYTE, "%d", 0)
53 IL_OPCODE(0x2e, "beq.s ", 1, BYTE, "%d", 0)
54 IL_OPCODE(0x2f, "bge.s ", 1, BYTE, "%d", 0)
55 IL_OPCODE(0x30, "bgt.s ", 1, BYTE, "%d", 0)
56 IL_OPCODE(0x31, "ble.s ", 1, BYTE, "%d", 0)
57 IL_OPCODE(0x32, "blt.s ", 1, BYTE, "%d", 0)
58 IL_OPCODE(0x33, "bne.un.s ", 1, BYTE, "%d", 0)
59 IL_OPCODE(0x34, "bge.un.s ", 1, BYTE, "%d", 0)
60 IL_OPCODE(0x35, "bgt.un.s ", 1, BYTE, "%d", 0)
61 IL_OPCODE(0x36, "ble.un.s ", 1, BYTE, "%d", 0)
62 IL_OPCODE(0x37, "blt.un.s ", 1, BYTE, "%d", 0)
63 IL_OPCODE(0x38, "br ", 4, UNALIGNED INT32, "0x%08x", 0)
64 IL_OPCODE(0x39, "brfalse ", 4, UNALIGNED INT32, "0x%08x", 0)
65 IL_OPCODE(0x3a, "brtrue ", 4, UNALIGNED INT32, "0x%08x", 0)
66 IL_OPCODE(0x3b, "beq ", 4, UNALIGNED INT32, "0x%08x", 0)
67 IL_OPCODE(0x3c, "bge ", 4, UNALIGNED INT32, "0x%08x", 0)
68 IL_OPCODE(0x3d, "bgt ", 4, UNALIGNED INT32, "0x%08x", 0)
69 IL_OPCODE(0x3e, "ble ", 4, UNALIGNED INT32, "0x%08x", 0)
70 IL_OPCODE(0x3f, "blt ", 4, UNALIGNED INT32, "0x%08x", 0)
71 IL_OPCODE(0x40, "bne.un ", 4, UNALIGNED INT32, "0x%08x", 0)
72 IL_OPCODE(0x41, "bge.un ", 4, UNALIGNED INT32, "0x%08x", 0)
73 IL_OPCODE(0x42, "bgt.un ", 4, UNALIGNED INT32, "0x%08x", 0)
74 IL_OPCODE(0x43, "ble.un ", 4, UNALIGNED INT32, "0x%08x", 0)
75 IL_OPCODE(0x44, "blt.un ", 4, UNALIGNED INT32, "0x%08x", 0)
76 IL_OPCODE(0x46, "ldind.i1 ", 0, ILDUMP_VOID, "", 0)
77 IL_OPCODE(0x47, "ldind.u1 ", 0, ILDUMP_VOID, "", 0)
78 IL_OPCODE(0x48, "ldind.i2 ", 0, ILDUMP_VOID, "", 0)
79 IL_OPCODE(0x49, "ldind.u2 ", 0, ILDUMP_VOID, "", 0)
80 IL_OPCODE(0x4a, "ldind.i4 ", 0, ILDUMP_VOID, "", 0)
81 IL_OPCODE(0x4b, "ldind.u4 ", 0, ILDUMP_VOID, "", 0)
82 IL_OPCODE(0x4c, "ldind.i8 ", 0, ILDUMP_VOID, "", 0)
83 IL_OPCODE(0x4d, "ldind.i ", 0, ILDUMP_VOID, "", 0)
84 IL_OPCODE(0x4e, "ldind.r4 ", 0, ILDUMP_VOID, "", 0)
85 IL_OPCODE(0x4f, "ldind.r8 ", 0, ILDUMP_VOID, "", 0)
86 IL_OPCODE(0x50, "ldind.ref ", 0, ILDUMP_VOID, "", 0)
87 IL_OPCODE(0x51, "stind.ref ", 0, ILDUMP_VOID, "", 0)
88 IL_OPCODE(0x52, "stind.i1 ", 0, ILDUMP_VOID, "", 0)
89 IL_OPCODE(0x53, "stind.i2 ", 0, ILDUMP_VOID, "", 0)
90 IL_OPCODE(0x54, "stind.i4 ", 0, ILDUMP_VOID, "", 0)
91 IL_OPCODE(0x55, "stind.i8 ", 0, ILDUMP_VOID, "", 0)
92 IL_OPCODE(0x56, "stind.r4 ", 0, ILDUMP_VOID, "", 0)
93 IL_OPCODE(0x57, "stind.r8 ", 0, ILDUMP_VOID, "", 0)
94 IL_OPCODE(0x58, "add ", 0, ILDUMP_VOID, "", 0)
95 IL_OPCODE(0x59, "sub ", 0, ILDUMP_VOID, "", 0)
96 IL_OPCODE(0x5a, "mul ", 0, ILDUMP_VOID, "", 0)
97 IL_OPCODE(0x5b, "div ", 0, ILDUMP_VOID, "", 0)
98 IL_OPCODE(0x5c, "div.un ", 0, ILDUMP_VOID, "", 0)
99 IL_OPCODE(0x5d, "rem ", 0, ILDUMP_VOID, "", 0)
100 IL_OPCODE(0x5e, "rem.un ", 0, ILDUMP_VOID, "", 0)
101 IL_OPCODE(0x5f, "and ", 0, ILDUMP_VOID, "", 0)
102 IL_OPCODE(0x60, "or ", 0, ILDUMP_VOID, "", 0)
103 IL_OPCODE(0x61, "xor ", 0, ILDUMP_VOID, "", 0)
104 IL_OPCODE(0x62, "shl ", 0, ILDUMP_VOID, "", 0)
105 IL_OPCODE(0x63, "shr ", 0, ILDUMP_VOID, "", 0)
106 IL_OPCODE(0x64, "shr.un ", 0, ILDUMP_VOID, "", 0)
107 IL_OPCODE(0x65, "neg ", 0, ILDUMP_VOID, "", 0)
108 IL_OPCODE(0x66, "not ", 0, ILDUMP_VOID, "", 0)
109 IL_OPCODE(0x67, "conv.i1 ", 0, ILDUMP_VOID, "", 0)
110 IL_OPCODE(0x68, "conv.i2 ", 0, ILDUMP_VOID, "", 0)
111 IL_OPCODE(0x69, "conv.i4 ", 0, ILDUMP_VOID, "", 0)
112 IL_OPCODE(0x6a, "conv.i8 ", 0, ILDUMP_VOID, "", 0)
113 IL_OPCODE(0x6b, "conv.r4 ", 0, ILDUMP_VOID, "", 0)
114 IL_OPCODE(0x6c, "conv.r8 ", 0, ILDUMP_VOID, "", 0)
115 IL_OPCODE(0x6d, "conv.u4 ", 0, ILDUMP_VOID, "", 0)
116 IL_OPCODE(0x6e, "conv.u8 ", 0, ILDUMP_VOID, "", 0)
117 IL_OPCODE(0x6f, "callvirt ", 4, UNALIGNED INT32, "0x%08x", 0)
118 IL_OPCODE(0x70, "cpobj ", 4, UNALIGNED INT32, "0x%08x", 0)
119 IL_OPCODE(0x71, "ldobj ", 4, UNALIGNED INT32, "0x%08x", 1)
120 IL_OPCODE(0x72, "ldstr ", 4, UNALIGNED INT32, "0x%08x", 0)
121 IL_OPCODE(0x73, "newobj ", 4, UNALIGNED INT32, "0x%08x", 1)
122 IL_OPCODE(0x74, "castclass ", 4, UNALIGNED INT32, "0x%08x", 0)
123 IL_OPCODE(0x75, "isinst ", 4, UNALIGNED INT32, "0x%08x", 0)
124 IL_OPCODE(0x76, "conv.r.un ", 0, ILDUMP_VOID, "", 0)
125 IL_OPCODE(0x79, "unbox ", 4, UNALIGNED INT32, "0x%08x", 0)
126 IL_OPCODE(0x7a, "throw ", 0, ILDUMP_VOID, "", 0)
127 IL_OPCODE(0x7b, "ldfld ", 4, UNALIGNED INT32, "0x%08x", 0)
128 IL_OPCODE(0x7c, "ldflda ", 4, UNALIGNED INT32, "0x%08x", 1)
129 IL_OPCODE(0x7d, "stfld ", 4, UNALIGNED INT32, "0x%08x", 0)
130 IL_OPCODE(0x7e, "ldsfld ", 4, UNALIGNED INT32, "0x%08x", 0)
131 IL_OPCODE(0x7f, "ldsflda ", 4, UNALIGNED INT32, "0x%08x", 0)
132 IL_OPCODE(0x80, "stsfld ", 4, UNALIGNED INT32, "0x%08x", 0)
133 IL_OPCODE(0x81, "stobj ", 4, UNALIGNED INT32, "0x%08x", 1)
134 IL_OPCODE(0x82, "conv.ovf.i1.un ", 0, ILDUMP_VOID, "", 0)
135 IL_OPCODE(0x83, "conv.ovf.i2.un ", 0, ILDUMP_VOID, "", 0)
136 IL_OPCODE(0x84, "conv.ovf.i4.un ", 0, ILDUMP_VOID, "", 0)
137 IL_OPCODE(0x85, "conv.ovf.i8.un ", 0, ILDUMP_VOID, "", 0)
138 IL_OPCODE(0x86, "conv.ovf.u1.un ", 0, ILDUMP_VOID, "", 0)
139 IL_OPCODE(0x87, "conv.ovf.u2.un ", 0, ILDUMP_VOID, "", 0)
140 IL_OPCODE(0x88, "conv.ovf.u4.un ", 0, ILDUMP_VOID, "", 0)
141 IL_OPCODE(0x89, "conv.ovf.u8.un ", 0, ILDUMP_VOID, "", 0)
142 IL_OPCODE(0x8a, "conv.ovf.i.un ", 0, ILDUMP_VOID, "", 0)
143 IL_OPCODE(0x8b, "conv.ovf.u.un ", 0, ILDUMP_VOID, "", 0)
144 IL_OPCODE(0x8c, "box ", 4, UNALIGNED INT32, "0x%08x", 0)
145 IL_OPCODE(0x8d, "newarr ", 4, UNALIGNED INT32, "0x%08x", 0)
146 IL_OPCODE(0x8e, "ldlen ", 0, ILDUMP_VOID, "", 0)
147 IL_OPCODE(0x8f, "ldelema ", 4, UNALIGNED INT32, "0x%08x", 0)
148 IL_OPCODE(0x90, "ldelem.i1 ", 0, ILDUMP_VOID, "", 0)
149 IL_OPCODE(0x91, "ldelem.u1 ", 0, ILDUMP_VOID, "", 0)
150 IL_OPCODE(0x92, "ldelem.i2 ", 0, ILDUMP_VOID, "", 0)
151 IL_OPCODE(0x93, "ldelem.u2 ", 0, ILDUMP_VOID, "", 0)
152 IL_OPCODE(0x94, "ldelem.i4 ", 0, ILDUMP_VOID, "", 0)
153 IL_OPCODE(0x95, "ldelem.u4 ", 0, ILDUMP_VOID, "", 0)
154 IL_OPCODE(0x96, "ldelem.i8 ", 0, ILDUMP_VOID, "", 0)
155 IL_OPCODE(0x97, "ldelem.i ", 0, ILDUMP_VOID, "", 0)
156 IL_OPCODE(0x98, "ldelem.r4 ", 0, ILDUMP_VOID, "", 0)
157 IL_OPCODE(0x99, "ldelem.r8 ", 0, ILDUMP_VOID, "", 0)
158 IL_OPCODE(0x9a, "ldelem.ref ", 0, ILDUMP_VOID, "", 0)
159 IL_OPCODE(0x9b, "stelem.i ", 0, ILDUMP_VOID, "", 0)
160 IL_OPCODE(0x9c, "stelem.i1 ", 0, ILDUMP_VOID, "", 0)
161 IL_OPCODE(0x9d, "stelem.i2 ", 0, ILDUMP_VOID, "", 0)
162 IL_OPCODE(0x9e, "stelem.i4 ", 0, ILDUMP_VOID, "", 0)
163 IL_OPCODE(0x9f, "stelem.i8 ", 0, ILDUMP_VOID, "", 0)
164 IL_OPCODE(0xa0, "stelem.r4 ", 0, ILDUMP_VOID, "", 0)
165 IL_OPCODE(0xa1, "stelem.r8 ", 0, ILDUMP_VOID, "", 0)
166 IL_OPCODE(0xa2, "stelem.ref ", 0, ILDUMP_VOID, "", 0)
167 IL_OPCODE(0xb3, "conv.ovf.i1 ", 0, ILDUMP_VOID, "", 0)
168 IL_OPCODE(0xb4, "conv.ovf.u1 ", 0, ILDUMP_VOID, "", 0)
169 IL_OPCODE(0xb5, "conv.ovf.i2 ", 0, ILDUMP_VOID, "", 0)
170 IL_OPCODE(0xb6, "conv.ovf.u2 ", 0, ILDUMP_VOID, "", 0)
171 IL_OPCODE(0xb7, "conv.ovf.i4 ", 0, ILDUMP_VOID, "", 0)
172 IL_OPCODE(0xb8, "conv.ovf.u4 ", 0, ILDUMP_VOID, "", 0)
173 IL_OPCODE(0xb9, "conv.ovf.i8 ", 0, ILDUMP_VOID, "", 0)
174 IL_OPCODE(0xba, "conv.ovf.u8 ", 0, ILDUMP_VOID, "", 0)
175 IL_OPCODE(0xc2, "refanyval ", 4, UNALIGNED INT32, "0x%08x", 0)
176 IL_OPCODE(0xc3, "ckfinite ", 0, ILDUMP_VOID, "", 0)
177 IL_OPCODE(0xc6, "mkrefany ", 4, UNALIGNED INT32, "0x%08x", 0)
178 IL_OPCODE(0xd0, "ldtoken ", 4, UNALIGNED INT32, "0x%08x", 1)
179 IL_OPCODE(0xd1, "conv.u2 ", 0, ILDUMP_VOID, "", 0)
180 IL_OPCODE(0xd2, "conv.u1 ", 0, ILDUMP_VOID, "", 0)
181 IL_OPCODE(0xd3, "conv.i ", 0, ILDUMP_VOID, "", 0)
182 IL_OPCODE(0xd4, "conv.ovf.i ", 0, ILDUMP_VOID, "", 0)
183 IL_OPCODE(0xd5, "conv.ovf.u ", 0, ILDUMP_VOID, "", 0)
184 IL_OPCODE(0xd6, "add.ovf ", 0, ILDUMP_VOID, "", 0)
185 IL_OPCODE(0xd7, "add.ovf.un ", 0, ILDUMP_VOID, "", 0)
186 IL_OPCODE(0xd8, "mul.ovf ", 0, ILDUMP_VOID, "", 0)
187 IL_OPCODE(0xd9, "mul.ovf.un ", 0, ILDUMP_VOID, "", 0)
188 IL_OPCODE(0xda, "sub.ovf ", 0, ILDUMP_VOID, "", 0)
189 IL_OPCODE(0xdb, "sub.ovf.un ", 0, ILDUMP_VOID, "", 0)
190 IL_OPCODE(0xdc, "endfinally ", 0, ILDUMP_VOID, "", 0)
191 IL_OPCODE(0xdd, "leave ", 4, UNALIGNED INT32, "0x%08x", 0)
192 IL_OPCODE(0xde, "leave.s ", 1, BYTE, "%d", 0)
193 IL_OPCODE(0xdf, "stind.i ", 0, ILDUMP_VOID, "", 0)
194 IL_OPCODE(0xe0, "conv.u ", 0, ILDUMP_VOID, "", 0)
195 IL_OPCODE_EXT(0xfe, 0x00, "arglist ", 0, ILDUMP_VOID, "", 0)
196 IL_OPCODE_EXT(0xfe, 0x01, "ceq ", 0, ILDUMP_VOID, "", 0)
197 IL_OPCODE_EXT(0xfe, 0x02, "cgt ", 0, ILDUMP_VOID, "", 0)
198 IL_OPCODE_EXT(0xfe, 0x03, "cgt.un ", 0, ILDUMP_VOID, "", 0)
199 IL_OPCODE_EXT(0xfe, 0x04, "clt ", 0, ILDUMP_VOID, "", 0)
200 IL_OPCODE_EXT(0xfe, 0x05, "clt.un ", 0, ILDUMP_VOID, "", 0)
201 IL_OPCODE_EXT(0xfe, 0x06, "ldftn ", 4, UNALIGNED INT32, "0x%08x", 1)
202 IL_OPCODE_EXT(0xfe, 0x07, "ldvirtftn ", 4, UNALIGNED INT32, "0x%08x", 0)
203 IL_OPCODE_EXT(0xfe, 0x09, "ldarg ", 2, UNALIGNED INT16, "0x%04x", 0)
204 IL_OPCODE_EXT(0xfe, 0x0a, "ldarga ", 2, UNALIGNED INT16, "0x%04x", 0)
205 IL_OPCODE_EXT(0xfe, 0x0b, "starg ", 2, UNALIGNED INT16, "0x%04x", 0)
206 IL_OPCODE_EXT(0xfe, 0x0c, "ldloc ", 2, UNALIGNED INT16, "0x%04x", 0)
207 IL_OPCODE_EXT(0xfe, 0x0d, "ldloca ", 2, UNALIGNED INT16, "0x%04x", 0)
208 IL_OPCODE_EXT(0xfe, 0x0e, "stloc ", 2, UNALIGNED INT16, "0x%04x", 0)
209 IL_OPCODE_EXT(0xfe, 0x0f, "localloc ", 0, ILDUMP_VOID, "", 0)
210 IL_OPCODE_EXT(0xfe, 0x11, "endfilter ", 0, ILDUMP_VOID, "", 0)
211 IL_OPCODE_EXT(0xfe, 0x12, "unaligned. ", 0, ILDUMP_VOID, "", 0)
212 IL_OPCODE_EXT(0xfe, 0x13, "volatile. ", 0, ILDUMP_VOID, "", 0)
213 IL_OPCODE_EXT(0xfe, 0x14, "tail. ", 0, ILDUMP_VOID, "", 0)
214 IL_OPCODE_EXT(0xfe, 0x15, "initobj ", 4, UNALIGNED INT32, "0x%08x", 0)
215 IL_OPCODE_EXT(0xfe, 0x17, "cpblk ", 0, ILDUMP_VOID, "", 0)
216 IL_OPCODE_EXT(0xfe, 0x18, "initblk ", 0, ILDUMP_VOID, "", 0)
217 IL_OPCODE_EXT(0xfe, 0x1a, "rethrow ", 0, ILDUMP_VOID, "", 0)
218 IL_OPCODE_EXT(0xfe, 0x1c, "sizeof ", 4, UNALIGNED INT32, "0x%08x", 0)
219 IL_OPCODE_EXT(0xfe, 0x1d, "refanytype ", 0, ILDUMP_VOID, "", 0)