Supported IL opcodes
March 26, 2019 ยท View on GitHub
- Number of opcode implementations: 135 / 219
- Number of opcode tests: 661 [66 / 219]
| OpCode | Binary | Implement | Test | ILConverter |
|---|---|---|---|---|
| add | 0x58 | Implemented | Test [13] | IL2C.ILConverters.AddConverter |
| add.ovf | 0xd6 | |||
| add.ovf.un | 0xd7 | |||
| and | 0x5f | Implemented | Test [5] | IL2C.ILConverters.AndConverter |
| arglist | 0xfe00 | |||
| beq | 0x3b | Implemented | IL2C.ILConverters.BeqConverter | |
| beq.s | 0x2e | Implemented | IL2C.ILConverters.Beq_sConverter | |
| bge | 0x3c | Implemented | IL2C.ILConverters.BgeConverter | |
| bge.s | 0x2f | Implemented | IL2C.ILConverters.Bge_sConverter | |
| bge.un | 0x41 | |||
| bge.un.s | 0x34 | |||
| bgt | 0x3d | Implemented | IL2C.ILConverters.BgtConverter | |
| bgt.s | 0x30 | Implemented | IL2C.ILConverters.Bgt_sConverter | |
| bgt.un | 0x42 | |||
| bgt.un.s | 0x35 | |||
| ble | 0x3e | Implemented | IL2C.ILConverters.BleConverter | |
| ble.s | 0x31 | Implemented | IL2C.ILConverters.Ble_sConverter | |
| ble.un | 0x43 | |||
| ble.un.s | 0x36 | |||
| blt | 0x3f | Implemented | IL2C.ILConverters.BltConverter | |
| blt.s | 0x32 | Implemented | IL2C.ILConverters.Blt_sConverter | |
| blt.un | 0x44 | |||
| blt.un.s | 0x37 | |||
| bne.un | 0x40 | Implemented | IL2C.ILConverters.Bne_UnConverter | |
| bne.un.s | 0x33 | Implemented | IL2C.ILConverters.Bne_Un_sConverter | |
| box | 0x8c | Implemented | Test [78] | IL2C.ILConverters.BoxConverter |
| br | 0x38 | Implemented | Test [1] | IL2C.ILConverters.BrConverter |
| br.s | 0x2b | Implemented | Test [1] | IL2C.ILConverters.Br_sConverter |
| break | 0x1 | Implemented | Test [1] | IL2C.ILConverters.BreakConverter |
| brfalse | 0x39 | Implemented | Test [10] | IL2C.ILConverters.BrfalseConverter |
| brfalse.s | 0x2c | Implemented | Test [10] | IL2C.ILConverters.Brfalse_sConverter |
| brtrue | 0x3a | Implemented | Test [10] | IL2C.ILConverters.BrtrueConverter |
| brtrue.s | 0x2d | Implemented | Test [10] | IL2C.ILConverters.Brtrue_sConverter |
| call | 0x28 | Implemented | Test [17] | IL2C.ILConverters.CallConverter |
| calli | 0x29 | |||
| callvirt | 0x6f | Implemented | Test [23] | IL2C.ILConverters.CallvirtConverter |
| castclass | 0x74 | Implemented | IL2C.ILConverters.CastclassConverter | |
| ceq | 0xfe01 | Implemented | IL2C.ILConverters.CeqConverter | |
| cgt | 0xfe02 | Implemented | IL2C.ILConverters.CgtConverter | |
| cgt.un | 0xfe03 | Implemented | IL2C.ILConverters.Cgt_unConverter | |
| ckfinite | 0xc3 | |||
| clt | 0xfe04 | Implemented | IL2C.ILConverters.CltConverter | |
| clt.un | 0xfe05 | Implemented | IL2C.ILConverters.Clt_unConverter | |
| constrained | 0xfe16 | Implemented | IL2C.ILConverters.ConstrainedConverter | |
| conv.i | 0xd3 | Implemented | Test [5] | IL2C.ILConverters.Conv_iConverter |
| conv.i1 | 0x67 | Implemented | Test [10] | IL2C.ILConverters.Conv_i1Converter |
| conv.i2 | 0x68 | Implemented | Test [10] | IL2C.ILConverters.Conv_i2Converter |
| conv.i4 | 0x69 | Implemented | IL2C.ILConverters.Conv_i4Converter | |
| conv.i8 | 0x6a | Implemented | IL2C.ILConverters.Conv_i8Converter | |
| conv.ovf.i | 0xd4 | |||
| conv.ovf.i.un | 0x8a | |||
| conv.ovf.i1 | 0xb3 | |||
| conv.ovf.i1.un | 0x82 | |||
| conv.ovf.i2 | 0xb5 | |||
| conv.ovf.i2.un | 0x83 | |||
| conv.ovf.i4 | 0xb7 | |||
| conv.ovf.i4.un | 0x84 | |||
| conv.ovf.i8 | 0xb9 | |||
| conv.ovf.i8.un | 0x85 | |||
| conv.ovf.u | 0xd5 | |||
| conv.ovf.u.un | 0x8b | |||
| conv.ovf.u1 | 0xb4 | |||
| conv.ovf.u1.un | 0x86 | |||
| conv.ovf.u2 | 0xb6 | |||
| conv.ovf.u2.un | 0x87 | |||
| conv.ovf.u4 | 0xb8 | |||
| conv.ovf.u4.un | 0x88 | |||
| conv.ovf.u8 | 0xba | |||
| conv.ovf.u8.un | 0x89 | |||
| conv.r.un | 0x76 | |||
| conv.r4 | 0x6b | Implemented | IL2C.ILConverters.Conv_r4Converter | |
| conv.r8 | 0x6c | Implemented | IL2C.ILConverters.Conv_r8Converter | |
| conv.u | 0xe0 | Implemented | IL2C.ILConverters.Conv_uConverter | |
| conv.u1 | 0xd2 | Implemented | Test [10] | IL2C.ILConverters.Conv_u1Converter |
| conv.u2 | 0xd1 | Implemented | Test [10] | IL2C.ILConverters.Conv_u2Converter |
| conv.u4 | 0x6d | Implemented | IL2C.ILConverters.Conv_u4Converter | |
| conv.u8 | 0x6e | Implemented | IL2C.ILConverters.Conv_u8Converter | |
| cpblk | 0xfe17 | |||
| cpobj | 0x70 | |||
| div | 0x5b | Implemented | Test [9] | IL2C.ILConverters.DivConverter |
| div.un | 0x5c | |||
| dup | 0x25 | Implemented | Test [2] | IL2C.ILConverters.DupConverter |
| endfilter | 0xfe11 | |||
| endfinally | 0xdc | Implemented | IL2C.ILConverters.EndfinallyConverter | |
| initblk | 0xfe18 | |||
| initobj | 0xfe15 | Implemented | IL2C.ILConverters.InitobjConverter | |
| isinst | 0x75 | Implemented | Test [4] | IL2C.ILConverters.IsinstConverter |
| jmp | 0x27 | |||
| ldarg | 0xfe09 | Implemented | Test [17] | IL2C.ILConverters.LdargConverter |
| ldarg.0 | 0x2 | Implemented | Test [16] | IL2C.ILConverters.Ldarg_0Converter |
| ldarg.1 | 0x3 | Implemented | Test [16] | IL2C.ILConverters.Ldarg_1Converter |
| ldarg.2 | 0x4 | Implemented | Test [16] | IL2C.ILConverters.Ldarg_2Converter |
| ldarg.3 | 0x5 | Implemented | Test [16] | IL2C.ILConverters.Ldarg_3Converter |
| ldarg.s | 0xe | Implemented | Test [17] | IL2C.ILConverters.Ldarg_sConverter |
| ldarga | 0xfe0a | |||
| ldarga.s | 0xf | Implemented | Test [17] | IL2C.ILConverters.Ldarga_sConverter |
| ldc.i4 | 0x20 | Implemented | Test [2] | IL2C.ILConverters.Ldc_i4Converter |
| ldc.i4.0 | 0x16 | Implemented | Test [2] | IL2C.ILConverters.Ldc_i4_0Converter |
| ldc.i4.1 | 0x17 | Implemented | Test [2] | IL2C.ILConverters.Ldc_i4_1Converter |
| ldc.i4.2 | 0x18 | Implemented | Test [2] | IL2C.ILConverters.Ldc_i4_2Converter |
| ldc.i4.3 | 0x19 | Implemented | Test [2] | IL2C.ILConverters.Ldc_i4_3Converter |
| ldc.i4.4 | 0x1a | Implemented | Test [2] | IL2C.ILConverters.Ldc_i4_4Converter |
| ldc.i4.5 | 0x1b | Implemented | Test [2] | IL2C.ILConverters.Ldc_i4_5Converter |
| ldc.i4.6 | 0x1c | Implemented | Test [2] | IL2C.ILConverters.Ldc_i4_6Converter |
| ldc.i4.7 | 0x1d | Implemented | Test [2] | IL2C.ILConverters.Ldc_i4_7Converter |
| ldc.i4.8 | 0x1e | Implemented | Test [2] | IL2C.ILConverters.Ldc_i4_8Converter |
| ldc.i4.m1 | 0x15 | Implemented | Test [2] | IL2C.ILConverters.Ldc_i4_m1Converter |
| ldc.i4.s | 0x1f | Implemented | Test [2] | IL2C.ILConverters.Ldc_i4_sConverter |
| ldc.i8 | 0x21 | Implemented | Test [2] | IL2C.ILConverters.Ldc_i8Converter |
| ldc.r4 | 0x22 | Implemented | Test [2] | IL2C.ILConverters.Ldc_r4Converter |
| ldc.r8 | 0x23 | Implemented | Test [2] | IL2C.ILConverters.Ldc_r8Converter |
| ldelem.any | 0xa3 | |||
| ldelem.i | 0x97 | |||
| ldelem.i1 | 0x90 | Implemented | IL2C.ILConverters.Ldelem_i1Converter | |
| ldelem.i2 | 0x92 | Implemented | IL2C.ILConverters.Ldelem_i2Converter | |
| ldelem.i4 | 0x94 | Implemented | IL2C.ILConverters.Ldelem_i4Converter | |
| ldelem.i8 | 0x96 | Implemented | IL2C.ILConverters.Ldelem_i8Converter | |
| ldelem.r4 | 0x98 | Implemented | IL2C.ILConverters.Ldelem_r4Converter | |
| ldelem.r8 | 0x99 | Implemented | IL2C.ILConverters.Ldelem_r8Converter | |
| ldelem.ref | 0x9a | Implemented | IL2C.ILConverters.Ldelem_refConverter | |
| ldelem.u1 | 0x91 | Implemented | IL2C.ILConverters.Ldelem_u1Converter | |
| ldelem.u2 | 0x93 | Implemented | IL2C.ILConverters.Ldelem_u2Converter | |
| ldelem.u4 | 0x95 | Implemented | IL2C.ILConverters.Ldelem_u4Converter | |
| ldelema | 0x8f | Implemented | IL2C.ILConverters.LdelemaConverter | |
| ldfld | 0x7b | Implemented | IL2C.ILConverters.LdfldConverter | |
| ldflda | 0x7c | Implemented | IL2C.ILConverters.LdfldaConverter | |
| ldftn | 0xfe06 | Implemented | IL2C.ILConverters.LdftnConverter | |
| ldind.i | 0x4d | Implemented | IL2C.ILConverters.Ldind_iConverter | |
| ldind.i1 | 0x46 | Implemented | IL2C.ILConverters.Ldind_i1Converter | |
| ldind.i2 | 0x48 | Implemented | IL2C.ILConverters.Ldind_i2Converter | |
| ldind.i4 | 0x4a | Implemented | IL2C.ILConverters.Ldind_i4Converter | |
| ldind.i8 | 0x4c | Implemented | IL2C.ILConverters.Ldind_i8Converter | |
| ldind.r4 | 0x4e | Implemented | IL2C.ILConverters.Ldind_r4Converter | |
| ldind.r8 | 0x4f | Implemented | IL2C.ILConverters.Ldind_r8Converter | |
| ldind.ref | 0x50 | Implemented | IL2C.ILConverters.Ldind_refConverter | |
| ldind.u1 | 0x47 | Implemented | IL2C.ILConverters.Ldind_u1Converter | |
| ldind.u2 | 0x49 | Implemented | IL2C.ILConverters.Ldind_u2Converter | |
| ldind.u4 | 0x4b | Implemented | IL2C.ILConverters.Ldind_u4Converter | |
| ldlen | 0x8e | Implemented | IL2C.ILConverters.LdlenConverters | |
| ldloc | 0xfe0c | |||
| ldloc.0 | 0x6 | Implemented | Test [16] | IL2C.ILConverters.Ldloc_0Converter |
| ldloc.1 | 0x7 | Implemented | Test [16] | IL2C.ILConverters.Ldloc_1Converter |
| ldloc.2 | 0x8 | Implemented | Test [16] | IL2C.ILConverters.Ldloc_2Converter |
| ldloc.3 | 0x9 | Implemented | Test [16] | IL2C.ILConverters.Ldloc_3Converter |
| ldloc.s | 0x11 | Implemented | Test [17] | IL2C.ILConverters.Ldloc_SConverter |
| ldloca | 0xfe0d | |||
| ldloca.s | 0x12 | Implemented | Test [17] | IL2C.ILConverters.Ldloca_sConverter |
| ldnull | 0x14 | Implemented | Test [3] | IL2C.ILConverters.LdnullConverter |
| ldobj | 0x71 | |||
| ldsfld | 0x7e | Implemented | Test [16] | IL2C.ILConverters.LdsfldConverter |
| ldsflda | 0x7f | Implemented | Test [16] | IL2C.ILConverters.LdsfldaConverter |
| ldstr | 0x72 | Implemented | Test [1] | IL2C.ILConverters.LdstrConverter |
| ldtoken | 0xd0 | Implemented | IL2C.ILConverters.LdtokenConverters | |
| ldvirtftn | 0xfe07 | Implemented | IL2C.ILConverters.LdvirtftnConverter | |
| leave | 0xdd | |||
| leave.s | 0xde | Implemented | IL2C.ILConverters.Leave_sConverter | |
| localloc | 0xfe0f | |||
| mkrefany | 0xc6 | |||
| mul | 0x5a | Implemented | Test [9] | IL2C.ILConverters.MulConverter |
| mul.ovf | 0xd8 | |||
| mul.ovf.un | 0xd9 | |||
| neg | 0x65 | |||
| newarr | 0x8d | Implemented | IL2C.ILConverters.NewarrConverter | |
| newobj | 0x73 | Implemented | IL2C.ILConverters.NewobjConverter | |
| no | 0xfe19 | |||
| nop | 0x0 | Implemented | Test [1] | IL2C.ILConverters.NopConverter |
| not | 0x66 | |||
| or | 0x60 | Implemented | Test [5] | IL2C.ILConverters.OrConverter |
| pop | 0x26 | Implemented | IL2C.ILConverters.PopConverter | |
| readonly | 0xfe1e | |||
| refanytype | 0xfe1d | |||
| refanyval | 0xc2 | |||
| rem | 0x5d | Implemented | Test [9] | IL2C.ILConverters.RemConverter |
| rem.un | 0x5e | |||
| ret | 0x2a | Implemented | Test [6] | IL2C.ILConverters.RetConverter |
| rethrow | 0xfe1a | Implemented | IL2C.ILConverters.RethrowConverter | |
| shl | 0x62 | |||
| shr | 0x63 | |||
| shr.un | 0x64 | |||
| sizeof | 0xfe1c | Implemented | IL2C.ILConverters.SizeofConverter | |
| starg | 0xfe0b | |||
| starg.s | 0x10 | |||
| stelem.any | 0xa4 | Implemented | IL2C.ILConverters.Stelem_anyConvertersConverter | |
| stelem.i | 0x9b | |||
| stelem.i1 | 0x9c | |||
| stelem.i2 | 0x9d | |||
| stelem.i4 | 0x9e | Implemented | IL2C.ILConverters.Stelem_i4ConvertersConverter | |
| stelem.i8 | 0x9f | |||
| stelem.r4 | 0xa0 | |||
| stelem.r8 | 0xa1 | |||
| stelem.ref | 0xa2 | Implemented | IL2C.ILConverters.Stelem_refConvertersConverter | |
| stfld | 0x7d | Implemented | IL2C.ILConverters.StfldConverter | |
| stind.i | 0xdf | |||
| stind.i1 | 0x52 | |||
| stind.i2 | 0x53 | |||
| stind.i4 | 0x54 | Implemented | IL2C.ILConverters.Stind_i4Converter | |
| stind.i8 | 0x55 | |||
| stind.r4 | 0x56 | |||
| stind.r8 | 0x57 | |||
| stind.ref | 0x51 | Implemented | IL2C.ILConverters.Stind_RefConverter | |
| stloc | 0xfe0e | |||
| stloc.0 | 0xa | Implemented | Test [16] | IL2C.ILConverters.Stloc_0Converter |
| stloc.1 | 0xb | Implemented | Test [16] | IL2C.ILConverters.Stloc_1Converter |
| stloc.2 | 0xc | Implemented | Test [16] | IL2C.ILConverters.Stloc_2Converter |
| stloc.3 | 0xd | Implemented | Test [16] | IL2C.ILConverters.Stloc_3Converter |
| stloc.s | 0x13 | Implemented | Test [17] | IL2C.ILConverters.Stloc_SConverter |
| stobj | 0x81 | |||
| stsfld | 0x80 | Implemented | Test [14] | IL2C.ILConverters.StsfldConverter |
| sub | 0x59 | Implemented | Test [11] | IL2C.ILConverters.SubConverter |
| sub.ovf | 0xda | |||
| sub.ovf.un | 0xdb | |||
| switch | 0x45 | |||
| tail | 0xfe14 | |||
| throw | 0x7a | Implemented | IL2C.ILConverters.ThrowConverter | |
| unaligned | 0xfe12 | |||
| unbox | 0x79 | |||
| unbox.any | 0xa5 | Implemented | Test [2] | IL2C.ILConverters.Unbox_AnyConverter |
| volatile | 0xfe13 | |||
| xor | 0x61 | Implemented | Test [5] | IL2C.ILConverters.XorConverter |