ROSE  0.11.131.0
InstructionEnumsCil.h
1 #ifndef ROSE_BinaryAnalysis_InstructionEnumsCil_H
2 #define ROSE_BinaryAnalysis_InstructionEnumsCil_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
5 
6 /* References:
7  * [1] "ECMA Standard ECMA-335 Common Language Infrastructure (CLI)" Downloaded
8  from https://www.ecma-international.org/publications-and-standards/standards/ecma-335/
9  */
10 
11 namespace Rose {
12 namespace BinaryAnalysis {
13 
18 enum CilFamily {
19  Cil_family = 0xffffffff,
20 };
21 
22 #if 0
23 #error "DEAD CODE"
24 
25 enum CilRegisterClass {
26  Cil_regclass_data,
27  Cil_regclass_addr,
28  Cil_regclass_fpr,
29  Cil_regclass_spr,
30  Cil_regclass_mac,
31  Cil_regclass_sup
32 };
33 
34 #error "DEAD CODE"
35 
36 enum CilSpecialPurposeRegister {
37  Cil_spr_pc,
38  Cil_spr_sr,
39  Cil_spr_fpcr,
40  Cil_spr_fpsr,
41  Cil_spr_fpiar
42 };
43 
44 #error "DEAD CODE"
45 
46 enum CilMacRegister {
47  Cil_mac_macsr,
48  Cil_mac_acc0,
49  Cil_mac_acc1,
50  Cil_mac_acc2,
51  Cil_mac_acc3,
52  Cil_mac_ext01,
53  Cil_mac_ext23,
54  Cil_mac_ext0,
55  Cil_mac_ext1,
56  Cil_mac_ext2,
57  Cil_mac_ext3,
58  Cil_mac_mask
59 };
60 
61 #error "DEAD CODE"
62 
63 enum CilEmacRegister {
64  Cil_emac_macsr,
65  Cil_emac_acc0,
66  Cil_emac_acc1,
67  Cil_emac_acc2,
68  Cil_emac_acc3,
69  Cil_emac_mask
70 };
71 
72 #error "DEAD CODE"
73 
75  Cil_sup_vbr,
76  Cil_sup_ssp,
77  Cil_sup_sfc,
78  Cil_sup_dfc,
79  Cil_sup_cacr,
80  Cil_sup_asid,
81  Cil_sup_acr0,
82  Cil_sup_acr1,
83  Cil_sup_acr2,
84  Cil_sup_acr3,
85  Cil_sup_mmubar,
86  Cil_sup_rombar0,
87  Cil_sup_rombar1,
88  Cil_sup_rambar0,
89  Cil_sup_rambar1,
90  Cil_sup_mbar,
91  Cil_sup_mpcr,
92  Cil_sup_edrambar,
93  Cil_sup_secmbar,
94  Cil_sup_0_pcr1,
95  Cil_sup_0_pcr2,
96  Cil_sup_0_pcr3,
97  Cil_sup_1_pcr1,
98  Cil_sup_1_pcr2,
99  Cil_sup_1_pcr3
100 };
101 #error "DEAD CODE"
102 #endif
103 
106  Cil_unknown_instruction= 0x0000,
107 
108  // One byte instructions
109 
110  Cil_nop=0xFF00, // name="nop",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0x00",flow="next",type="Primitive"
111  Cil_break, // name="break",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0x01",flow="break",type="Primitive"
112  Cil_ldarg_0, // name="ldarg.0",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x02",flow="next",type="Macro",constant="0"
113  Cil_ldarg_1, // name="ldarg.1",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x03",flow="next",type="Macro",constant="1"
114  Cil_ldarg_2, // name="ldarg.2",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x04",flow="next",type="Macro",constant="2"
115  Cil_ldarg_3, // name="ldarg.3",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x05",flow="next",type="Macro",constant="3"
116  Cil_ldloc_0, // name="ldloc.0",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x06",flow="next",type="Macro",constant="0"
117  Cil_ldloc_1, // name="ldloc.1",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x07",flow="next",type="Macro",constant="1"
118  Cil_ldloc_2, // name="ldloc.2",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x08",flow="next",type="Macro",constant="2"
119  Cil_ldloc_3, // name="ldloc.3",input="Pop0",output="Push1",args="InlineNone", o1="0xFF",o2="0x09",flow="next",type="Macro",constant="3"
120  Cil_stloc_0, // name="stloc.0",input="Pop1",output="Push0",args="InlineNone", o1="0xFF",o2="0x0A",flow="next",type="Macro",constant="0"
121  Cil_stloc_1, // name="stloc.1",input="Pop1",output="Push0",args="InlineNone", o1="0xFF",o2="0x0B",flow="next",type="Macro",constant="1"
122  Cil_stloc_2, // name="stloc.2",input="Pop1",output="Push0",args="InlineNone", o1="0xFF",o2="0x0C",flow="next",type="Macro",constant="2"
123  Cil_stloc_3, // name="stloc.3",input="Pop1",output="Push0",args="InlineNone", o1="0xFF",o2="0x0D",flow="next",type="Macro",constant="3"
124  Cil_ldarg_s, // name="ldarg.s",input="Pop0",output="Push1",args="ShortInlineVar", o1="0xFF",o2="0x0E",flow="next",type="Macro"
125  Cil_ldarga_s, // name="ldarga.s",input="Pop0",output="PushI",args="ShortInlineVar",o1="0xFF",o2="0x0F",flow="next",type="Macro"
126 
127  Cil_starg_s, // name="starg.s",input="Pop1",output="Push0",args="ShortInlineVar", o1="0xFF",o2="0x10",flow="next",type="Macro"
128  Cil_ldloc_s, // name="ldloc.s",input="Pop0",output="Push1",args="ShortInlineVar", o1="0xFF",o2="0x11",flow="next",type="Macro"
129  Cil_ldloca_s, // name="ldloca.s",input="Pop0",output="PushI",args="ShortInlineVar",o1="0xFF",o2="0x12",flow="next",type="Macro"
130  Cil_stloc_s, // name="stloc.s",input="Pop1",output="Push0",args="ShortInlineVar", o1="0xFF",o2="0x13",flow="next",type="Macro"
131  Cil_ldnull, // name="ldnull",input="Pop0",output="PushRef",args="InlineNone", o1="0xFF",o2="0x14",flow="next",type="Primitive"
132  Cil_ldc_i4_m1, // name="ldc.i4.m1",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x15",flow="next",type="Macro",constant="-1"
133  Cil_ldc_i4_0, // name="ldc.i4.0",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x16",flow="next",type="Macro",constant="0"
134  Cil_ldc_i4_1, // name="ldc.i4.1",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x17",flow="next",type="Macro",constant="1"
135  Cil_ldc_i4_2, // name="ldc.i4.2",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x18",flow="next",type="Macro",constant="2"
136  Cil_ldc_i4_3, // name="ldc.i4.3",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x19",flow="next",type="Macro",constant="3"
137  Cil_ldc_i4_4, // name="ldc.i4.4",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x1A",flow="next",type="Macro",constant="4"
138  Cil_ldc_i4_5, // name="ldc.i4.5",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x1B",flow="next",type="Macro",constant="5"
139  Cil_ldc_i4_6, // name="ldc.i4.6",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x1C",flow="next",type="Macro",constant="6"
140  Cil_ldc_i4_7, // name="ldc.i4.7",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x1D",flow="next",type="Macro",constant="7"
141  Cil_ldc_i4_8, // name="ldc.i4.8",input="Pop0",output="PushI",args="InlineNone", o1="0xFF",o2="0x1E",flow="next",type="Macro",constant="8"
142  Cil_ldc_i4_s, // name="ldc.i4.s",input="Pop0",output="PushI",args="ShortInlineI", o1="0xFF",o2="0x1F",flow="next",type="Macro"
143 
144  Cil_ldc_i4, // name="ldc.i4",input="Pop0",output="PushI",args="InlineI", o1="0xFF",o2="0x20",flow="next",type="Primitive"
145  Cil_ldc_i8, // name="ldc.i8",input="Pop0",output="PushI8",args="InlineI8", o1="0xFF",o2="0x21",flow="next",type="Primitive"
146  Cil_ldc_r4, // name="ldc.r4",input="Pop0",output="PushR4",args="ShortInlineR", o1="0xFF",o2="0x22",flow="next",type="Primitive"
147  Cil_ldc_r8, // name="ldc.r8",input="Pop0",output="PushR8",args="InlineR", o1="0xFF",o2="0x23",flow="next",type="Primitive"
148  Cil_unused99, // name="unused99",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0x24",flow="next"
149  Cil_dup, // name="dup",input="Pop1",output="Push1+Push1",args="InlineNone", o1="0xFF",o2="0x25",flow="next",type="Primitive"
150  Cil_pop, // name="pop",input="Pop1",output="Push0",args="InlineNone", o1="0xFF",o2="0x26",flow="next",type="Primitive"
151  Cil_jmp, // name="jmp",input="Pop0",output="Push0",args="InlineMethod", o1="0xFF",o2="0x27",flow="call",type="Primitive"
152  Cil_call, // name="call",input="VarPop",output="VarPush",args="InlineMethod", o1="0xFF",o2="0x28",flow="call",type="Primitive"
153  Cil_calli, // name="calli",input="VarPop",output="VarPush",args="InlineSig", o1="0xFF",o2="0x29",flow="call",type="Primitive"
154  Cil_ret, // name="ret",input="VarPop",output="Push0",args="InlineNone", o1="0xFF",o2="0x2A",flow="return",type="Primitive"
155  Cil_br_s, // name="br.s",input="Pop0",output="Push0",args="ShortInlineBrTarget", o1="0xFF",o2="0x2B",flow="branch",type="Macro"
156  Cil_brfalse_s, // name="brfalse.s",input="PopI",output="Push0",args="ShortInlineBrTarget", o1="0xFF",o2="0x2C",flow="cond-branch",type="Macro"
157  Cil_brtrue_s, // name="brtrue.s",input="PopI",output="Push0",args="ShortInlineBrTarget", o1="0xFF",o2="0x2D",flow="cond-branch",type="Macro"
158  Cil_beq_s, // name="beq.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0x2E",flow="cond-branch",type="Macro"
159  Cil_bge_s, // name="bge.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0x2F",flow="cond-branch",type="Macro"
160 
161  Cil_bgt_s, // name="bgt.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget", o1="0xFF",o2="0x30",flow="cond-branch",type="Macro"
162  Cil_ble_s, // name="ble.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget", o1="0xFF",o2="0x31",flow="cond-branch",type="Macro"
163  Cil_blt_s, // name="blt.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget", o1="0xFF",o2="0x32",flow="cond-branch",type="Macro"
164  Cil_bne_un_s, // name="bne.un.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0x33",flow="cond-branch",type="Macro"
165  Cil_bge_un_s, // name="bge.un.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0x34",flow="cond-branch",type="Macro"
166  Cil_bgt_un_s, // name="bgt.un.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0x35",flow="cond-branch",type="Macro"
167  Cil_ble_un_s, // name="ble.un.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0x36",flow="cond-branch",type="Macro"
168  Cil_blt_un_s, // name="blt.un.s",input="Pop1+Pop1",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0x37",flow="cond-branch",type="Macro"
169  Cil_br, // name="br",input="Pop0",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x38",flow="branch",type="Primitive"
170  Cil_brfalse, // name="brfalse",input="PopI",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x39",flow="cond-branch",type="Primitive"
171  Cil_brtrue, // name="brtrue",input="PopI",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x3A",flow="cond-branch",type="Primitive"
172  Cil_beq, // name="beq",input="Pop1+Pop1",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x3B",flow="cond-branch",type="Macro"
173  Cil_bge, // name="bge",input="Pop1+Pop1",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x3C",flow="cond-branch",type="Macro"
174  Cil_bgt, // name="bgt",input="Pop1+Pop1",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x3D",flow="cond-branch",type="Macro"
175  Cil_ble, // name="ble",input="Pop1+Pop1",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x3E",flow="cond-branch",type="Macro"
176  Cil_blt, // name="blt",input="Pop1+Pop1",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0x3F",flow="cond-branch",type="Macro"
177 
178  Cil_bne_un, // name="bne.un",input="Pop1+Pop1",output="Push0",args="InlineBrTarget",o1="0xFF",o2="0x40",flow="cond-branch",type="Macro"
179  Cil_bge_un, // name="bge.un",input="Pop1+Pop1",output="Push0",args="InlineBrTarget",o1="0xFF",o2="0x41",flow="cond-branch",type="Macro"
180  Cil_bgt_un, // name="bgt.un",input="Pop1+Pop1",output="Push0",args="InlineBrTarget",o1="0xFF",o2="0x42",flow="cond-branch",type="Macro"
181  Cil_ble_un, // name="ble.un",input="Pop1+Pop1",output="Push0",args="InlineBrTarget",o1="0xFF",o2="0x43",flow="cond-branch",type="Macro"
182  Cil_blt_un, // name="blt.un",input="Pop1+Pop1",output="Push0",args="InlineBrTarget",o1="0xFF",o2="0x44",flow="cond-branch",type="Macro"
183  Cil_switch, // name="switch",input="PopI",output="Push0",args="InlineSwitch", o1="0xFF",o2="0x45",flow="cond-branch",type="Primitive"
184  Cil_ldind_i1, // name="ldind.i1",input="PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x46",flow="next",type="Primitive"
185  Cil_ldind_u1, // name="ldind.u1",input="PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x47",flow="next",type="Primitive"
186  Cil_ldind_i2, // name="ldind.i2",input="PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x48",flow="next",type="Primitive"
187  Cil_ldind_u2, // name="ldind.u2",input="PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x49",flow="next",type="Primitive"
188  Cil_ldind_i4, // name="ldind.i4",input="PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x4A",flow="next",type="Primitive"
189  Cil_ldind_u4, // name="ldind.u4",input="PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x4B",flow="next",type="Primitive"
190  Cil_ldind_i8, // name="ldind.i8",input="PopI",output="PushI8",args="InlineNone", o1="0xFF",o2="0x4C",flow="next",type="Primitive"
191  Cil_ldind_i, // name="ldind.i",input="PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x4D",flow="next",type="Primitive"
192  Cil_ldind_r4, // name="ldind.r4",input="PopI",output="PushR4",args="InlineNone", o1="0xFF",o2="0x4E",flow="next",type="Primitive"
193  Cil_ldind_r8, // name="ldind.r8",input="PopI",output="PushR8",args="InlineNone" ,o1="0xFF",o2="0x4F",flow="next",type="Primitive"
194 
195  Cil_ldind_ref, // name="ldind.ref",input="PopI",output="PushRef",args="InlineNone", o1="0xFF",o2="0x50",flow="next",type="Primitive"
196  Cil_stind_ref, // name="stind.ref",input="PopI+PopI",output="Push0",args="InlineNone",o1="0xFF",o2="0x51",flow="next",type="Primitive"
197  Cil_stind_i1, // name="stind.i1",input="PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0x52",flow="next",type="Primitive"
198  Cil_stind_i2, // name="stind.i2",input="PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0x53",flow="next",type="Primitive"
199  Cil_stind_i4, // name="stind.i4",input="PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0x54",flow="next",type="Primitive"
200  Cil_stind_i8, // name="stind.i8",input="PopI+PopI8",output="Push0",args="InlineNone",o1="0xFF",o2="0x55",flow="next",type="Primitive"
201  Cil_stind_r4, // name="stind.r4",input="PopI+PopR4",output="Push0",args="InlineNone",o1="0xFF",o2="0x56",flow="next",type="Primitive"
202  Cil_stind_r8, // name="stind.r8",input="PopI+PopR8",output="Push0",args="InlineNone",o1="0xFF",o2="0x57",flow="next",type="Primitive"
203  Cil_add, // name="add",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x58",flow="next",type="Primitive"
204  Cil_sub, // name="sub",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x59",flow="next",type="Primitive"
205  Cil_mul, // name="mul",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x5A",flow="next",type="Primitive"
206  Cil_div, // name="div",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x5B",flow="next",type="Primitive"
207  Cil_div_un, // name="div.un",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x5C",flow="next",type="Primitive"
208  Cil_rem, // name="rem",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x5D",flow="next",type="Primitive"
209  Cil_rem_un, // name="rem.un",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x5E",flow="next",type="Primitive"
210  Cil_and, // name="and",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x5F",flow="next",type="Primitive"
211 
212  Cil_or, // name="or",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x60",flow="next",type="Primitive"
213  Cil_xor, // name="xor",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x61",flow="next",type="Primitive"
214  Cil_shl, // name="shl",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x62",flow="next",type="Primitive"
215  Cil_shr, // name="shr",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x63",flow="next",type="Primitive"
216  Cil_shr_un, // name="shr.un",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x64",flow="next",type="Primitive"
217  Cil_neg, // name="neg",input="Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x65",flow="next",type="Primitive"
218  Cil_not, // name="not",input="Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0x66",flow="next",type="Primitive"
219  Cil_conv_i1, // name="conv.i1",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x67",flow="next",type="Primitive"
220  Cil_conv_i2, // name="conv.i2",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x68",flow="next",type="Primitive"
221  Cil_conv_i4, // name="conv.i4",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x69",flow="next",type="Primitive"
222  Cil_conv_i8, // name="conv.i8",input="Pop1",output="PushI8",args="InlineNone", o1="0xFF",o2="0x6A",flow="next",type="Primitive"
223  Cil_conv_r4, // name="conv.r4",input="Pop1",output="PushR4",args="InlineNone", o1="0xFF",o2="0x6B",flow="next",type="Primitive"
224  Cil_conv_r8, // name="conv.r8",input="Pop1",output="PushR8",args="InlineNone", o1="0xFF",o2="0x6C",flow="next",type="Primitive"
225  Cil_conv_u4, // name="conv.u4",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x6D",flow="next",type="Primitive"
226  Cil_conv_u8, // name="conv.u8",input="Pop1",output="PushI8",args="InlineNone", o1="0xFF",o2="0x6E",flow="next",type="Primitive"
227  Cil_callvirt, // name="callvirt",input="VarPop",output="VarPush",args="InlineMethod",o1="0xFF",o2="0x6F",flow="call",type="Objmodel"
228 
229  Cil_cpobj, // name="cpobj",input="PopI+PopI",output="Push0",args="InlineType", o1="0xFF",o2="0x70",flow="next",type="Objmodel"
230  Cil_ldobj, // name="ldobj",input="PopI",output="Push1",args="InlineType", o1="0xFF",o2="0x71",flow="next",type="Objmodel"
231  Cil_ldstr, // name="ldstr",input="Pop0",output="PushRef",args="InlineString", o1="0xFF",o2="0x72",flow="next",type="Objmodel"
232  Cil_newobj, // name="newobj",input="VarPop",output="PushRef",args="InlineMethod", o1="0xFF",o2="0x73",flow="call",type="Objmodel"
233  Cil_castclass, // name="castclass",input="PopRef",output="PushRef",args="InlineType",o1="0xFF",o2="0x74",flow="next",type="Objmodel"
234  Cil_isinst, // name="isinst",input="PopRef",output="PushI",args="InlineType", o1="0xFF",o2="0x75",flow="next",type="Objmodel"
235  Cil_conv_r_un, // name="conv.r.un",input="Pop1",output="PushR8",args="InlineNone", o1="0xFF",o2="0x76",flow="next",type="Primitive"
236  Cil_unused58, // name="unused58",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0x77",flow="next"
237  Cil_unused1, // name="unused1",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0x78",flow="next"
238  Cil_unbox, // name="unbox",input="PopRef",output="PushI",args="InlineType", o1="0xFF",o2="0x79",flow="next",type="Primitive"
239  Cil_throw, // name="throw",input="PopRef",output="Push0",args="InlineNone", o1="0xFF",o2="0x7A",flow="throw",type="Objmodel"
240  Cil_ldfld, // name="ldfld",input="PopRef",output="Push1",args="InlineField", o1="0xFF",o2="0x7B",flow="next",type="Objmodel"
241  Cil_ldflda, // name="ldflda",input="PopRef",output="PushI",args="InlineField", o1="0xFF",o2="0x7C",flow="next",type="Objmodel"
242  Cil_stfld, // name="stfld",input="PopRef+Pop1",output="Push0",args="InlineField",o1="0xFF",o2="0x7D",flow="next",type="Objmodel"
243  Cil_ldsfld, // name="ldsfld",input="Pop0",output="Push1",args="InlineField", o1="0xFF",o2="0x7E",flow="next",type="Objmodel"
244  Cil_ldsflda, // name="ldsflda",input="Pop0",output="PushI",args="InlineField", o1="0xFF",o2="0x7F",flow="next",type="Objmodel"
245 
246  Cil_stsfld, // name="stsfld",input="Pop1",output="Push0",args="InlineField", o1="0xFF",o2="0x80",flow="next",type="Objmodel"
247  Cil_stobj, // name="stobj",input="PopI+Pop1",output="Push0",args="InlineType", o1="0xFF",o2="0x81",flow="next",type="Primitive"
248  Cil_conv_ovf_i1_un,// name="conv.ovf.i1.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x82",flow="next",type="Primitive"
249  Cil_conv_ovf_i2_un,// name="conv.ovf.i2.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x83",flow="next",type="Primitive"
250  Cil_conv_ovf_i4_un,// name="conv.ovf.i4.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x84",flow="next",type="Primitive"
251  Cil_conv_ovf_i8_un,// name="conv.ovf.i8.un",input="Pop1",output="PushI8",args="InlineNone",o1="0xFF",o2="0x85",flow="next",type="Primitive"
252  Cil_conv_ovf_u1_un,// name="conv.ovf.u1.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x86",flow="next",type="Primitive"
253  Cil_conv_ovf_u2_un,// name="conv.ovf.u2.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x87",flow="next",type="Primitive"
254  Cil_conv_ovf_u4_un,// name="conv.ovf.u4.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x88",flow="next",type="Primitive"
255  Cil_conv_ovf_u8_un,// name="conv.ovf.u8.un",input="Pop1",output="PushI8",args="InlineNone",o1="0xFF",o2="0x89",flow="next",type="Primitive"
256  Cil_conv_ovf_i_un, // name="conv.ovf.i.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x8A",flow="next",type="Primitive"
257  Cil_conv_ovf_u_un, // name="conv.ovf.u.un",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0x8B",flow="next",type="Primitive"
258  Cil_box, // name="box",input="Pop1",output="PushRef",args="InlineType", o1="0xFF",o2="0x8C",flow="next",type="Primitive"
259  Cil_newarr, // name="newarr",input="PopI",output="PushRef",args="InlineType", o1="0xFF",o2="0x8D",flow="next",type="Objmodel"
260  Cil_ldlen, // name="ldlen",input="PopRef",output="PushI",args="InlineNone", o1="0xFF",o2="0x8E",flow="next",type="Objmodel"
261  Cil_ldelema, // name="ldelema",input="PopRef+PopI",output="PushI",args="InlineType", o1="0xFF",o2="0x8F",flow="next",type="Objmodel"
262 
263  Cil_ldelem_i1, // name="ldelem.i1",input="PopRef+PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x90",flow="next",type="Objmodel"
264  Cil_ldelem_u1, // name="ldelem.u1",input="PopRef+PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x91",flow="next",type="Objmodel"
265  Cil_ldelem_i2, // name="ldelem.i2",input="PopRef+PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x92",flow="next",type="Objmodel"
266  Cil_ldelem_u2, // name="ldelem.u2",input="PopRef+PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x93",flow="next",type="Objmodel"
267  Cil_ldelem_i4, // name="ldelem.i4",input="PopRef+PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x94",flow="next",type="Objmodel"
268  Cil_ldelem_u4, // name="ldelem.u4",input="PopRef+PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x95",flow="next",type="Objmodel"
269  Cil_ldelem_i8, // name="ldelem.i8",input="PopRef+PopI",output="PushI8",args="InlineNone", o1="0xFF",o2="0x96",flow="next",type="Objmodel"
270  Cil_ldelem_i, // name="ldelem.i",input="PopRef+PopI",output="PushI",args="InlineNone", o1="0xFF",o2="0x97",flow="next",type="Objmodel"
271  Cil_ldelem_r4, // name="ldelem.r4",input="PopRef+PopI",output="PushR4",args="InlineNone", o1="0xFF",o2="0x98",flow="next",type="Objmodel"
272  Cil_ldelem_r8, // name="ldelem.r8",input="PopRef+PopI",output="PushR8",args="InlineNone", o1="0xFF",o2="0x99",flow="next",type="Objmodel"
273  Cil_ldelem_ref, // name="ldelem.ref",input="PopRef+PopI",output="PushRef",args="InlineNone", o1="0xFF",o2="0x9A",flow="next",type="Objmodel"
274  Cil_stelem_i, // name="stelem.i",input="PopRef+PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0x9B",flow="next",type="Objmodel"
275  Cil_stelem_i1, // name="stelem.i1",input="PopRef+PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0x9C",flow="next",type="Objmodel"
276  Cil_stelem_i2, // name="stelem.i2",input="PopRef+PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0x9D",flow="next",type="Objmodel"
277  Cil_stelem_i4, // name="stelem.i4",input="PopRef+PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0x9E",flow="next",type="Objmodel"
278  Cil_stelem_i8, // name="stelem.i8",input="PopRef+PopI+PopI8",output="Push0",args="InlineNone",o1="0xFF",o2="0x9F",flow="next",type="Objmodel"
279 
280  Cil_stelem_r4, // name="stelem.r4",input="PopRef+PopI+PopR4",output="Push0",args="InlineNone", o1="0xFF",o2="0xA0",flow="next",type="Objmodel"
281  Cil_stelem_r8, // name="stelem.r8",input="PopRef+PopI+PopR8",output="Push0",args="InlineNone", o1="0xFF",o2="0xA1",flow="next",type="Objmodel"
282  Cil_stelem_ref, // name="stelem.ref",input="PopRef+PopI+PopRef",output="Push0",args="InlineNone",o1="0xFF",o2="0xA2",flow="next",type="Objmodel"
283  Cil_ldelem, // name="ldelem",input="PopRef+PopI",output="Push1",args="InlineType", o1="0xFF",o2="0xA3",flow="next",type="Objmodel"
284  Cil_stelem, // name="stelem",input="PopRef+PopI+Pop1",output="Push0",args="InlineType", o1="0xFF",o2="0xA4",flow="next",type="Objmodel"
285  Cil_unbox_any, // name="unbox.any",input="PopRef",output="Push1",args="InlineType", o1="0xFF",o2="0xA5",flow="next",type="Objmodel"
286  Cil_unused5, // name="unused5",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xA6",flow="next"
287  Cil_unused6, // name="unused6",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xA7",flow="next"
288  Cil_unused7, // name="unused7",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xA8",flow="next"
289  Cil_unused8, // name="unused8",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xA9",flow="next"
290  Cil_unused9, // name="unused9",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xAA",flow="next"
291  Cil_unused10, // name="unused10",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xAB",flow="next"
292  Cil_unused11, // name="unused11",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xAC",flow="next"
293  Cil_unused12, // name="unused12",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xAD",flow="next"
294  Cil_unused13, // name="unused13",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xAE",flow="next"
295  Cil_unused14, // name="unused14",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xAF",flow="next"
296 
297  Cil_unused15, // name="unused15",input="Pop0",output="Push0",args="InlineNone" ,o1="0xFF",o2="0xB0",flow="next"
298  Cil_unused16, // name="unused16",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xB1",flow="next"
299  Cil_unused17, // name="unused17",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xB2",flow="next"
300  Cil_conv_ovf_i1, // name="conv.ovf.i1",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xB3",flow="next",type="Primitive"
301  Cil_conv_ovf_u1, // name="conv.ovf.u1",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xB4",flow="next",type="Primitive"
302  Cil_conv_ovf_i2, // name="conv.ovf.i2",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xB5",flow="next",type="Primitive"
303  Cil_conv_ovf_u2, // name="conv.ovf.u2",input="Pop1",output="PushI",args="InlineNone" ,o1="0xFF" o2="0xB6",flow="next",type="Primitive"
304  Cil_conv_ovf_i4, // name="conv.ovf.i4",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xB7",flow="next",type="Primitive"
305  Cil_conv_ovf_u4, // name="conv.ovf.u4",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xB8",flow="next",type="Primitive"
306  Cil_conv_ovf_i8, // name="conv.ovf.i8",input="Pop1",output="PushI8",args="InlineNone",o1="0xFF",o2="0xB9",flow="next",type="Primitive"
307  Cil_conv_ovf_u8, // name="conv.ovf.u8",input="Pop1",output="PushI8",args="InlineNone",o1="0xFF",o2="0xBA",flow="next",type="Primitive"
308  Cil_unused50, // name="unused50",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xBB",flow="next"
309  Cil_unused18, // name="unused18",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xBC",flow="next"
310  Cil_unused19, // name="unused19",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xBD",flow="next"
311  Cil_unused20, // name="unused20",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xBE",flow="next"
312  Cil_unused21, // name="unused21",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xBF",flow="next"
313 
314  Cil_unused22, // name="unused22",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xC0",flow="next"
315  Cil_unused23, // name="unused23",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xC1",flow="next"
316  Cil_refanyval, // name="refanyval",input="Pop1",output="PushI",args="InlineType",o1="0xFF",o2="0xC2",flow="next",type="Primitive"
317  Cil_ckfinite, // name="ckfinite",input="Pop1",output="PushR8",args="InlineNone",o1="0xFF",o2="0xC3",flow="next",type="Primitive"
318  Cil_unused24, // name="unused24",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xC4",flow="next"
319  Cil_unused25, // name="unused25",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xC5",flow="next"
320  Cil_mkrefany, // name="mkrefany",input="PopI",output="Push1",args="InlineType", o1="0xFF",o2="0xC6",flow="next",type="Primitive"
321  Cil_unused59, // name="unused59",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xC7",flow="next"
322  Cil_unused60, // name="unused60",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xC8",flow="next"
323  Cil_unused61, // name="unused61",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xC9",flow="next"
324  Cil_unused62, // name="unused62",input="Pop0",output="Push0",args="InlineNone" ,o1="0xFF",o2="0xCA",flow="next"
325  Cil_unused63, // name="unused63",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xCB",flow="next"
326  Cil_unused64, // name="unused64",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xCC",flow="next"
327  Cil_unused65, // name="unused65",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xCD",flow="next"
328  Cil_unused66, // name="unused66",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xCE",flow="next"
329  Cil_unused67, // name="unused67",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xCF",flow="next"
330 
331  Cil_ldtoken, // name="ldtoken",input="Pop0",output="PushI",args="InlineTok", o1="0xFF",o2="0xD0",flow="next",type="Primitive"
332  Cil_conv_u2, // name="conv.u2",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xD1",flow="next",type="Primitive"
333  Cil_conv_u1, // name="conv.u1",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xD2",flow="next",type="Primitive"
334  Cil_conv_i, // name="conv.i",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xD3",flow="next",type="Primitive"
335  Cil_conv_ovf_i, // name="conv.ovf.i",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xD4",flow="next",type="Primitive"
336  Cil_conv_ovf_u, // name="conv.ovf.u",input="Pop1",output="PushI",args="InlineNone", o1="0xFF",o2="0xD5",flow="next",type="Primitive"
337  Cil_add_ovf, // name="add.ovf",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0xD6",flow="next",type="Primitive"
338  Cil_add_ovf_un, // name="add.ovf.un",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0xD7",flow="next",type="Primitive"
339  Cil_mul_ovf, // name="mul.ovf",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0xD8",flow="next",type="Primitive"
340  Cil_mul_ovf_un, // name="mul.ovf.un",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0xD9",flow="next",type="Primitive"
341  Cil_sub_ovf, // name="sub.ovf",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0xDA",flow="next",type="Primitive"
342  Cil_sub_ovf_un, // name="sub.ovf.un",input="Pop1+Pop1",output="Push1",args="InlineNone", o1="0xFF",o2="0xDB",flow="next",type="Primitive"
343  Cil_endfinally, // name="endfinally",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xDC",flow="return",type="Primitive"
344  Cil_leave, // name="leave",input="Pop0",output="Push0",args="InlineBrTarget", o1="0xFF",o2="0xDD",flow="branch",type="Primitive"
345  Cil_leave_s, // name="leave.s",input="Pop0",output="Push0",args="ShortInlineBrTarget",o1="0xFF",o2="0xDE",flow="branch",type="Primitive"
346  Cil_stind_i, // name="stind.i",input="PopI+PopI",output="Push0",args="InlineNone", o1="0xFF",o2="0xDF",flow="next",type="Primitive"
347 
348  Cil_conv_u, // name="conv.u",input="Pop1",output="PushI",args="InlineNone" ,o1="0xFF",o2="0xE0",flow="next",type="Primitive"
349  Cil_unused26, // name="unused26",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE1",flow="next"
350  Cil_unused27, // name="unused27",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE2",flow="next"
351  Cil_unused28, // name="unused28",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE3",flow="next"
352  Cil_unused29, // name="unused29",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE4",flow="next"
353  Cil_unused30, // name="unused30",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE5",flow="next"
354  Cil_unused31, // name="unused31",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE6",flow="next"
355  Cil_unused32, // name="unused32",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE7",flow="next"
356  Cil_unused33, // name="unused33",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE8",flow="next"
357  Cil_unused34, // name="unused34",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xE9",flow="next"
358  Cil_unused35, // name="unused35",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xEA",flow="next"
359  Cil_unused36, // name="unused36",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xEB",flow="next"
360  Cil_unused37, // name="unused37",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xEC",flow="next"
361  Cil_unused38, // name="unused38",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xED",flow="next"
362  Cil_unused39, // name="unused39",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xEE",flow="next"
363  Cil_unused40, // name="unused40",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xEF",flow="next"
364 
365  Cil_unused41, // name="unused41",input="Pop0",output="Push0",args="InlineNone" ,o1="0xFF",o2="0xF0",flow="next"
366  Cil_unused42, // name="unused42",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF1",flow="next"
367  Cil_unused43, // name="unused43",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF2",flow="next"
368  Cil_unused44, // name="unused44",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF3",flow="next"
369  Cil_unused45, // name="unused45",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF4",flow="next"
370  Cil_unused46, // name="unused46",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF5",flow="next"
371  Cil_unused47, // name="unused47",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF6",flow="next"
372  Cil_unused48, // name="unused48",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF7",flow="next"
373  Cil_prefix7, // name="prefix7",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF8",flow="meta",type="Nternal"
374  Cil_prefix6, // name="prefix6",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xF9",flow="meta",type="Nternal"
375  Cil_prefix5, // name="prefix5",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xFA",flow="meta",type="Nternal"
376  Cil_prefix4, // name="prefix4",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xFB",flow="meta",type="Nternal"
377  Cil_prefix3, // name="prefix3",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xFC",flow="meta",type="Nternal"
378  Cil_prefix2, // name="prefix2",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xFD",flow="meta",type="Nternal"
379  Cil_prefix1, // name="prefix1",input="Pop0",output="Push0",args="InlineNone", o1="0xFF",o2="0xFE",flow="meta",type="Nternal"
380  Cil_prefixref, // name="prefixref",input="Pop0",output="Push0",args="InlineNone",o1="0xFF",o2="0xFF",flow="meta",type="Nternal"
381 
382 // Start of two-byte opcodes, 0xFE00...0xFE22
383 
384  Cil_arglist=0xFE00,// name="arglist",input="Pop0",output="PushI",args="InlineNone", o1="0xFE",o2="0x00",flow="next",type="Primitive"
385  Cil_ceq, // name="ceq",input="Pop1+Pop1",output="PushI",args="InlineNone", o1="0xFE",o2="0x01",flow="next",type="Primitive"
386  Cil_cgt, // name="cgt",input="Pop1+Pop1",output="PushI",args="InlineNone", o1="0xFE",o2="0x02",flow="next",type="Primitive"
387  Cil_cgt_un, // name="cgt.un",input="Pop1+Pop1",output="PushI",args="InlineNone", o1="0xFE",o2="0x03",flow="next",type="Primitive"
388  Cil_clt, // name="clt",input="Pop1+Pop1",output="PushI",args="InlineNone", o1="0xFE",o2="0x04",flow="next",type="Primitive"
389  Cil_clt_un, // name="clt.un",input="Pop1+Pop1",output="PushI",args="InlineNone", o1="0xFE",o2="0x05",flow="next",type="Primitive"
390  Cil_ldftn, // name="ldftn",input="Pop0",output="PushI",args="InlineMethod", o1="0xFE",o2="0x06",flow="next",type="Primitive"
391  Cil_ldvirtftn, // name="ldvirtftn",input="PopRef",output="PushI",args="InlineMethod",o1="0xFE",o2="0x07",flow="next",type="Primitive"
392  Cil_unused56, // name="unused56",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x08",flow="next"
393  Cil_ldarg, // name="ldarg",input="Pop0",output="Push1",args="InlineVar", o1="0xFE",o2="0x09",flow="next",type="Primitive"
394  Cil_ldarga, // name="ldarga",input="Pop0",output="PushI",args="InlineVar", o1="0xFE",o2="0x0A",flow="next",type="Primitive"
395  Cil_starg, // name="starg",input="Pop1",output="Push0",args="InlineVar", o1="0xFE",o2="0x0B",flow="next",type="Primitive"
396  Cil_ldloc, // name="ldloc",input="Pop0",output="Push1",args="InlineVar", o1="0xFE",o2="0x0C",flow="next",type="Primitive"
397  Cil_ldloca, // name="ldloca",input="Pop0",output="PushI",args="InlineVar", o1="0xFE",o2="0x0D",flow="next",type="Primitive"
398  Cil_stloc, // name="stloc",input="Pop1",output="Push0",args="InlineVar", o1="0xFE",o2="0x0E",flow="next",type="Primitive"
399  Cil_localloc, // name="localloc",input="PopI",output="PushI",args="InlineNone", o1="0xFE",o2="0x0F",flow="next",type="Primitive"
400 
401  Cil_unused57, // name="unused57",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x10",flow="next"
402  Cil_endfilter, // name="endfilter",input="PopI",output="Push0",args="InlineNone", o1="0xFE",o2="0x11",flow="return",type="Primitive"
403  Cil_unaligned_, // name="unaligned.",input="Pop0",output="Push0",args="ShortInlineI", o1="0xFE",o2="0x12",flow="meta",type="Prefix"
404  Cil_volatile_, // name="volatile.",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x13",flow="meta",type="Prefix"
405  Cil_tail_, // name="tail.",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x14",flow="meta",type="Prefix"
406  Cil_initobj, // name="initobj",input="PopI",output="Push0",args="InlineType", o1="0xFE",o2="0x15",flow="next",type="Objmodel"
407  Cil_constrained_, // name="constrained.",input="Pop0",output="Push0",args="InlineType", o1="0xFE",o2="0x16",flow="meta",type="Prefix"
408  Cil_cpblk, // name="cpblk",input="PopI+PopI+PopI",output="Push0",args="InlineNone" ,o1="0xFE",o2="0x17",flow="next",type="Primitive"
409  Cil_initblk, // name="initblk",input="PopI+PopI+PopI",output="Push0",args="InlineNone",o1="0xFE",o2="0x18",flow="next",type="Primitive"
410  Cil_no_, // name="no.",input="Pop0",output="Push0",args="ShortInlineI", o1="0xFE",o2="0x19",flow="next"
411  Cil_rethrow, // name="rethrow",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x1A",flow="throw",type="Objmodel"
412  Cil_unused, // name="unused",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x1B",flow="next"
413  Cil_sizeof, // name="sizeof",input="Pop0",output="PushI",args="InlineType", o1="0xFE",o2="0x1C",flow="next",type="Primitive"
414  Cil_refanytype, // name="refanytype",input="Pop1",output="PushI",args="InlineNone", o1="0xFE",o2="0x1D",flow="next",type="Primitive"
415  Cil_readonly_, // name="readonly.",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x1E",flow="meta"
416  Cil_unused53, // name="unused53",input="Pop0",output="Push0",args="InlineNone", o1="0xFE",o2="0x1F",flow="next"
417 
418  Cil_unused54, // name="unused54",input="Pop0",output="Push0",args="InlineNone",o1="0xFE",o2="0x20",flow="next"
419  Cil_unused55, // name="unused55",input="Pop0",output="Push0",args="InlineNone",o1="0xFE",o2="0x21",flow="next"
420  Cil_unused70, // name="unused70",input="Pop0",output="Push0",args="InlineNone",o1="0xFE",o2="0x22",flow="next"
421 
422 // End of legal two-byte encodings
423 
424 // These are not real opcodes, but they are handy internally in the EE (from ECMA-335_6th_edition
425 // See Cil_unknown_instruction=0x0000
426 //
427 // Cil_illegal=0x0000, // name="illegal",input="Pop0",output="Push0",args="InlineNone",o1="0x00",o2="0x00",flow="meta"
428 // Cil_endmac =0x0000, // name="endmac",input="Pop0",output="Push0",args="InlineNone", o1="0x00",o2="0x00",flow="meta"
429 
430 // Start of mono two-byte opcodes, 0xF000...0xF022
431 
432  Cil_mono_icall=0xF000,// name="mono_icall",input="VarPop",output="VarPush",args="InlineI", o1="0xF0",o2="0x00",flow="next"
433  Cil_mono_objaddr, // name="mono_objaddr",input="Pop1",output="PushI",args="InlineNone", o1="0xF0",o2="0x01",flow="next"
434  Cil_mono_ldptr, // name="mono_ldptr",input="Pop0",output="PushI",args="InlineI", o1="0xF0",o2="0x02",flow="next"
435  Cil_mono_vtaddr, // name="mono_vtaddr",input="Pop1",output="PushI",args="InlineNone", o1="0xF0",o2="0x03",flow="next"
436  Cil_mono_newobj, // name="mono_newobj",input="Pop0",output="PushRef",args="InlineType", o1="0xF0",o2="0x04",flow="next"
437  Cil_mono_retobj, // name="mono_retobj",input="PopI",output="Push0",args="InlineType", o1="0xF0",o2="0x05",flow="return"
438  Cil_mono_ldnativeobj, // name="mono_ldnativeobj",input="PopI",output="Push1",args="InlineType", o1="0xF0",o2="0x06",flow="return"
439  Cil_mono_cisinst, // name="mono_cisinst",input="PopRef",output="Push1",args="InlineType", o1="0xF0",o2="0x07",flow="next"
440  Cil_mono_ccastclass, // name="mono_ccastclass",input="PopRef",output="Push1",args="InlineType",o1="0xF0",o2="0x08",flow="next"
441  Cil_mono_save_lmf, // name="mono_save_lmf",input="Pop0",output="Push0",args="InlineNone", o1="0xF0",o2="0x09",flow="next"
442  Cil_mono_restore_lmf, // name="mono_restore_lmf",input="Pop0",output="Push0",args="InlineNone", o1="0xF0",o2="0x0A",flow="next"
443  Cil_mono_classconst, // name="mono_classconst",input="Pop0",output="PushI",args="InlineI", o1="0xF0",o2="0x0B",flow="next"
444  Cil_mono_not_taken, // name="mono_not_taken",input="Pop0",output="Push0",args="InlineNone", o1="0xF0",o2="0x0C",flow="next"
445  Cil_mono_tls, // name="mono_tls",input="Pop0",output="PushI",args="InlineI", o1="0xF0",o2="0x0D",flow="next"
446  Cil_mono_icall_addr, // name="mono_icall_addr",input="Pop0",output="PushI",args="InlineI", o1="0xF0",o2="0x0E",flow="next"
447  Cil_mono_dyn_call, // name="mono_dyn_call",input="Pop0",output="PushI",args="InlineNone", o1="0xF0",o2="0x0F",flow="next"
448 
449  Cil_mono_memory_barrier, // name="mono_memory_barrier",input="Pop0",output="Push0",args="InlineI", o1="0xF0",o2="0x10",flow="next"
450  Cil_unused71, // "unused71",input="Pop0",output="Push0",args="InlineNone", o1="0xF0",o2="0x11",flow="next"
451  Cil_unused72, // "unused72",input="Pop0",output="Push0",args="InlineNone", o1="0xF0",o2="0x12",flow="next"
452  Cil_mono_jit_icall_addr, // "mono_jit_icall_addr",input="Pop0",output="PushI",args="InlineI", o1="0xF0",o2="0x13",flow="next"
453  Cil_mono_ldptr_int_req_flag, // "mono_ldptr_int_req_flag",input="Pop0",output="PushI",args="InlineNone", o1="0xF0",o2="0x14",flow="next"
454  Cil_mono_ldptr_card_table, // "mono_ldptr_card_table",input="Pop0",output="PushI",args="InlineNone", o1="0xF0",o2="0x15",flow="next"
455  Cil_mono_ldptr_nursery_start, // "mono_ldptr_nursery_start",input="Pop0",output="PushI",args="InlineNone",o1="0xF0",o2="0x16",flow="next"
456  Cil_mono_ldptr_nursery_bits, // "mono_ldptr_nursery_bits",input="Pop0",output="PushI",args="InlineNone", o1="0xF0",o2="0x17",flow="next"
457  Cil_mono_calli_extra_arg, // "mono_calli_extra_arg",input="VarPop",output="VarPush",args="InlineSig", o1="0xF0",o2="0x18",flow="call"
458  Cil_mono_lddomain, // "mono_lddomain",input="Pop0",output="PushI",args="InlineNone", o1="0xF0",o2="0x19",flow="next"
459  Cil_mono_atomic_store_i4, // "mono_atomic_store_i4",input="PopI+PopI",output="Push0",args="InlineI", o1="0xF0",o2="0x1A",flow="next"
460  Cil_mono_save_last_error, // "mono_save_last_error",input="Pop0",output="Push0",args="InlineNone", o1="0xF0",o2="0x1B",flow="next"
461  Cil_mono_get_rgctx_arg, // "mono_get_rgctx_arg",input="Pop0",output="PushI",args="InlineNone", o1="0xF0",o2="0x1C",flow="next"
462  Cil_mono_ldptr_prof_alloc_count,// "mono_ldptr_profiler_allocation_count","Pop0","PushI",args="InlineNone", o1="0xF0",o2="0x1D",flow="next"
463  Cil_mono_ld_delegate_method_ptr,// "mono_ld_delegate_method_ptr", "Pop1","PushI",args="InlineNone", o1="0xF0",o2="0x1E",flow="next"
464  Cil_mono_rethrow, // "mono_rethrow", "PopRef","Push0",args="InlineNone", o1="0xF0",o2="0x1F",flow="throw",type="Objmodel"
465 
466  Cil_mono_get_sp, // name="mono_get_sp", "Pop0","PushI",args="InlineNone", o1="0xF0",o2="0x20",flow="next"
467  Cil_mono_methodconst, // "mono_methodconst", "Pop0","PushI",args="InlineI", o1="0xF0",o2="0x21",flow="next"
468  Cil_mono_pinvoke_addr_cache, // "mono_pinvoke_addr_cache", "Pop0","PushI",args="InlineI", o1="0xF0",o2="0x22",flow="next"
469 
470  // This must be last
471  Cil_last_instruction=0xF023
472 }; // End CilInstructionKind
473 
474 } // namespace
475 } // namespace
476 
477 #endif
478 #endif
CilFamily
Members of the Motorola Coldfire family of m68k processors.
CilInstructionKind
CIL instruction types.
Main namespace for the ROSE library.
All CIL Instruction sets.
const char * CilSupervisorRegister(int64_t)
Convert Rose::BinaryAnalysis::CilSupervisorRegister enum constant to a string.
const char * CilEmacRegister(int64_t)
Convert Rose::BinaryAnalysis::CilEmacRegister enum constant to a string.
const char * CilMacRegister(int64_t)
Convert Rose::BinaryAnalysis::CilMacRegister enum constant to a string.