Below a list of all opcodes currently supported by the CIL emulator of Echo's AsmResolver back-end. - [ ] Miscellaneous (3/9): <details> - [x] Nop, - [ ] Break, - [x] Dup, - [x] Pop, - [ ] Ckfinite, - [ ] Mkrefany, - [ ] Refanyval, - [ ] Refanytype, - [ ] Arglist </details> - [x] Variables and arguments (24/24): <details> - [x] Ldarg_0, - [x] Ldarg_1, - [x] Ldarg_2, - [x] Ldarg_3, - [x] Ldarg_S, - [x] Ldarg, - [x] Ldarga, - [x] Ldarga_S, - [x] Starg, - [x] Starg_S, - [x] Ldloc_0, - [x] Ldloc_1, - [x] Ldloc_2, - [x] Ldloc_3, - [x] Ldloc_S, - [x] Ldloc, - [x] Ldloca, - [x] Ldloca_S, - [x] Stloc_0, - [x] Stloc_1, - [x] Stloc_2, - [x] Stloc_3, - [x] Stloc_S, - [x] Stloc, </details> - [x] Load constants (17/17): <details> - [x] Ldnull, - [x] Ldc_I4_M1, - [x] Ldc_I4_0, - [x] Ldc_I4_1, - [x] Ldc_I4_2, - [x] Ldc_I4_3, - [x] Ldc_I4_4, - [x] Ldc_I4_5, - [x] Ldc_I4_6, - [x] Ldc_I4_7, - [x] Ldc_I4_8, - [x] Ldc_I4_S, - [x] Ldc_I4, - [x] Ldc_I8, - [x] Ldc_R4, - [x] Ldc_R8, - [x] Ldstr, </details> - [x] Control flow (28/28): <details> - [x] Br, - [x] Br_S, - [x] Brfalse, - [x] Brfalse_S, - [x] Brtrue, - [x] Brtrue_S, - [x] Beq, - [x] Beq_S, - [x] Bge, - [x] Bge_S, - [x] Bgt, - [x] Bgt_S, - [x] Ble, - [x] Ble_S, - [x] Blt, - [x] Blt_S, - [x] Bne_Un, - [x] Bne_Un_S, - [x] Bge_Un, - [x] Bge_Un_S, - [x] Bgt_Un, - [x] Bgt_Un_S, - [x] Ble_Un, - [x] Ble_Un_S, - [x] Blt_Un, - [x] Blt_Un_S, - [x] Switch, - [x] Ret, </details> - [x] Arrays (24/24): <details> - [x] Newarr, - [x] Ldlen, - [x] Ldelema, - [x] Ldelem, - [x] Ldelem_I1, - [x] Ldelem_U1, - [x] Ldelem_I2, - [x] Ldelem_U2, - [x] Ldelem_I4, - [x] Ldelem_U4, - [x] Ldelem_I8, - [x] Ldelem_I, - [x] Ldelem_R4, - [x] Ldelem_R8, - [x] Ldelem_Ref, - [x] Stelem_I, - [x] Stelem_I1, - [x] Stelem_I2, - [x] Stelem_I4, - [x] Stelem_I8, - [x] Stelem_R4, - [x] Stelem_R8, - [x] Stelem_Ref, - [x] Stelem, </details> - [x] Pointers (26/26): <details> - [x] Localloc, - [x] Ldind_I1, - [x] Ldind_U1, - [x] Ldind_I2, - [x] Ldind_U2, - [x] Ldind_I4, - [x] Ldind_U4, - [x] Ldind_I8, - [x] Ldind_I, - [x] Ldind_R4, - [x] Ldind_R8, - [x] Ldind_Ref, - [x] Stind_Ref, - [x] Stind_I1, - [x] Stind_I2, - [x] Stind_I4, - [x] Stind_I8, - [x] Stind_R4, - [x] Stind_R8, - [x] Stind_I, - [x] Cpobj, - [x] Ldobj, - [x] Initobj, - [x] Stobj, - [x] Cpblk, - [x] Initblk, </details> - [ ] Operators (18/26): <details> - [x] Add, - [ ] Add_Ovf (only missing overflow checks), - [ ] Add_Ovf_Un (only missing overflow checks), - [x] Sub, - [ ] Sub_Ovf (only missing overflow checks), - [ ] Sub_Ovf_Un (only missing overflow checks), - [x] Mul, - [ ] Mul_Ovf (only missing overflow checks), - [ ] Mul_Ovf_Un (only missing overflow checks), - [x] Div, - [ ] Div_Un (only missing overflow checks), - [x] Rem, - [ ] Rem_Un (only missing overflow checks), - [x] And, - [x] Or, - [x] Xor, - [x] Shl, - [x] Shr, - [x] Shr_Un, - [x] Neg, - [x] Not, - [x] Ceq, - [x] Cgt, - [x] Cgt_Un, - [x] Clt, - [x] Clt_Un, </details> - [x] Conversions (33/33): <details> - [x] Conv_I1, - [x] Conv_I2, - [x] Conv_I4, - [x] Conv_I8, - [x] Conv_R4, - [x] Conv_R8, - [x] Conv_U4, - [x] Conv_U1, - [x] Conv_U2, - [x] Conv_U8, - [x] Conv_I, - [x] Conv_U, - [x] Conv_R_Un, - [x] Conv_Ovf_I1, - [x] Conv_Ovf_U1, - [x] Conv_Ovf_I2, - [x] Conv_Ovf_U2, - [x] Conv_Ovf_I4, - [x] Conv_Ovf_U4, - [x] Conv_Ovf_I8, - [x] Conv_Ovf_U8, - [x] Conv_Ovf_I, - [x] Conv_Ovf_U, - [x] Conv_Ovf_I1_Un, - [x] Conv_Ovf_I2_Un, - [x] Conv_Ovf_I4_Un, - [x] Conv_Ovf_I8_Un, - [x] Conv_Ovf_U1_Un, - [x] Conv_Ovf_U2_Un, - [x] Conv_Ovf_U4_Un, - [x] Conv_Ovf_U8_Un, - [x] Conv_Ovf_I_Un, - [x] Conv_Ovf_U_Un, </details> - [x] Exception handlers (6/6): <details> - [x] Throw, - [x] Rethrow, - [x] Endfinally, - [x] Leave, - [x] Leave_S, - [x] Endfilter, </details> - [ ] Type system (17/20): <details> - [x] Ldtoken, - [x] Ldfld, - [x] Ldflda, - [x] Ldsfld, - [x] Ldsflda, - [x] Stfld, - [x] Stsfld, - [ ] Jmp, - [x] Call, - [x] Callvirt, - [x] Newobj, - [ ] Calli, - [x] Ldftn, - [ ] Ldvirtftn, - [x] Castclass, - [x] Isinst, - [x] Box, - [x] Unbox, - [x] Unbox_Any, - [x] Sizeof, </details> - [ ] Prefixes (11/13): <details> - [x] Volatile, - [x] Unaligned, - [x] Constrained, - [ ] Readonly - [ ] Tailcall, - [x] ~~Prefix7 (out of scope)~~, - [x] ~~Prefix6 (out of scope)~~, - [x] ~~Prefix5 (out of scope)~~, - [x] ~~Prefix4 (out of scope)~~, - [x] ~~Prefix3 (out of scope)~~, - [x] ~~Prefix2 (out of scope)~~, - [x] ~~Prefix1 (out of scope)~~, - [x] ~~Prefixref (out of scope)~~, </details>
Below a list of all opcodes currently supported by the CIL emulator of Echo's AsmResolver back-end.
Miscellaneous (3/9):
Details
Variables and arguments (24/24):
Details
Load constants (17/17):
Details
Control flow (28/28):
Details
Arrays (24/24):
Details
Pointers (26/26):
Details
Operators (18/26):
Details
Conversions (33/33):
Details
Exception handlers (6/6):
Details
Type system (17/20):
Details
Prefixes (11/13):
Details
Prefix7 (out of scope),Prefix6 (out of scope),Prefix5 (out of scope),Prefix4 (out of scope),Prefix3 (out of scope),Prefix2 (out of scope),Prefix1 (out of scope),Prefixref (out of scope),