// Test file for the Common Intermediate Language /* multi line comment */ // examples from Wikipedia .assembly Hello {} .assembly extern mscorlib {} .method static void Main() { .entrypoint .maxstack 1 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } .method private hidebysig static void Main(string[] args) cil managed { .entrypoint .maxstack 2 .locals init (int32 V_0, int32 V_1) ldc.i4.2 stloc.0 br.s IL_001f IL_0004: ldc.i4.2 stloc.1 br.s IL_0011 IL_0008: ldloc.0 ldloc.1 rem brfalse.s IL_001b ldloc.1 ldc.i4.1 add stloc.1 IL_0011: ldloc.1 ldloc.0 blt.s IL_0008 ldloc.0 call void [mscorlib]System.Console::WriteLine(int32) IL_001b: ldloc.0 ldc.i4.1 add stloc.0 IL_001f: ldloc.0 ldc.i4 0x3e8 blt.s IL_0004 ret } .method assembly static void modopt([mscorlib]System.Runtime.CompilerServices.CallConvCdecl) test_pointer_operations(int32 param) cil managed { .vtentry 1 : 1 // Code size 44 (0x2c) .maxstack 2 .locals ([0] int32* ptr, [1] valuetype A* V_1, [2] valuetype A* a, [3] int32 k) // k = 0; IL_0000: ldc.i4.0 IL_0001: stloc.3 // ptr = &k; IL_0002: ldloca.s k // load local's address instruction IL_0004: stloc.0 // *ptr = 1; IL_0005: ldloc.0 IL_0006: ldc.i4.1 IL_0007: stind.i4 // indirection instruction // ptr = ¶m IL_0008: ldarga.s param // load parameter's address instruction IL_000a: stloc.0 // *ptr = 2 IL_000b: ldloc.0 IL_000c: ldc.i4.2 IL_000d: stind.i4 // a = new A; IL_000e: ldloca.s a IL_0010: call valuetype A* modopt([mscorlib]System.Runtime.CompilerServices.CallConvThiscall) 'A.{ctor}'(valuetype A* modopt([mscorlib]System.Runtime.CompilerServices.IsConst) modopt([mscorlib]System.Runtime.CompilerServices.IsConst)) IL_0015: pop // ptra = &a; IL_0016: ldloca.s a IL_0018: stloc.1 // ptra->meth(); IL_0019: ldloc.1 IL_001a: dup IL_001b: ldind.i4 // reading the VMT for virtual call IL_001c: ldind.i4 IL_001d: calli unmanaged stdcall void modopt([mscorlib]System.Runtime.CompilerServices.CallConvStdcall)(native int) IL_0022: ret } // end of method 'Global Functions'::test_pointer_operations