// Microsoft (R) .NET Framework IL Disassembler. Version 1.1.4322.573 // Copyright (C) Microsoft Corporation 1998-2002. All rights reserved. .assembly extern mscorlib { .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 1:0:5000:0 } .assembly mig2 { // --- The following custom attribute is added automatically, do not uncomment ------- // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(bool, // bool) = ( 01 00 00 01 00 00 ) .hash algorithm 0x00008004 .ver 0:0:0:0 } .module mig2.exe // MVID: {F92C1C2A-CC0E-48D9-B72F-528E1E0BC3F3} .imagebase 0x00400000 .subsystem 0x00000003 .file alignment 512 .corflags 0x00000001 // Image base: 0x03190000 // // ============== CLASS STRUCTURE DECLARATION ================== // .class private auto ansi beforefieldinit Driver extends [mscorlib]System.Object { } // end of class Driver .class private auto ansi beforefieldinit Test extends [mscorlib]System.Object { } // end of class Test // ============================================================= // =============== GLOBAL FIELDS AND METHODS =================== // ============================================================= // =============== CLASS MEMBERS DECLARATION =================== // note that class flags, 'extends' and 'implements' clauses // are provided here for information only .class private auto ansi beforefieldinit Driver extends [mscorlib]System.Object { .method public hidebysig static void Main() cil managed { .entrypoint // Code size 51 (0x33) .maxstack 1 .locals init (string V_0) IL_0000: ldstr "Starting Main" IL_0005: call void [mscorlib]System.Console::WriteLine(string) IL_000a: ldstr "Echo!" IL_000f: call string Test::EchoAndReturn(string) IL_0014: pop IL_0015: ldstr "After echo" IL_001a: call void [mscorlib]System.Console::WriteLine(string) IL_001f: ldsfld string Test::x IL_0024: stloc.0 IL_0025: ldloc.0 IL_0026: brfalse.s IL_0032 IL_0028: ldstr "After field access" IL_002d: call void [mscorlib]System.Console::WriteLine(string) IL_0032: ret } // end of method Driver::Main .method public hidebysig specialname rtspecialname instance void .ctor() cil managed { // Code size 7 (0x7) .maxstack 1 IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ret } // end of method Driver::.ctor } // end of class Driver .class private auto ansi beforefieldinit Test extends [mscorlib]System.Object { .field public static string x .method public hidebysig static string EchoAndReturn(string s) cil managed { // Code size 12 (0xc) .maxstack 1 .locals init (string V_0) IL_0000: ldarg.0 IL_0001: call void [mscorlib]System.Console::WriteLine(string) IL_0006: ldarg.0 IL_0007: stloc.0 IL_0008: br.s IL_000a IL_000a: ldloc.0 IL_000b: ret } // end of method Test::EchoAndReturn .method private hidebysig specialname rtspecialname static void .cctor() cil managed { // Code size 16 (0x10) .maxstack 1 IL_0000: ldstr "In type initializer" IL_0005: call string Test::EchoAndReturn(string) IL_000a: stsfld string Test::x IL_000f: ret } // end of method Test::.cctor .method public hidebysig specialname rtspecialname instance void .ctor() cil managed { // Code size 7 (0x7) .maxstack 1 IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ret } // end of method Test::.ctor } // end of class Test // ============================================================= //*********** DISASSEMBLY COMPLETE ***********************