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