// Microsoft (R) .NET Framework IL Disassembler. Version 3.5.30729.1 // Metadata version: v4.0.30319 .assembly extern mscorlib { .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 } .assembly '00.simple' { // --- Следующий настраиваемый атрибут добавлен автоматически, не следует отменять преобразование в комментарий ------- // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 07 01 00 00 00 00 ) .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. .hash algorithm 0x00008004 .ver 0:0:0:0 } .module '00.simple.exe' // MVID: {913A4EFB-66B7-4874-BDC4-15DB59C8E987} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY // Image base: 0x00480000 // =============== CLASS MEMBERS DECLARATION =================== .class public auto ansi beforefieldinit Simple extends [mscorlib]System.Object { .method public hidebysig static int32 Sum(int32 a, int32 b) cil managed { // Размер кода: 11 (0xb) .maxstack 2 .locals init ([0] int32 c, [1] int32 CS$1$0000) .language '{3F5162F8-07C6-11D3-9053-00C04FA302A1}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' // Source File 'l:\Лекции\3 Курс\Теория компиляторов\Samples\MSIL2\copy\00.simple.cs' //000005: public static int Sum(int a, int b) { IL_0000: nop //000006: int c; //000007: c=a+b; IL_0001: ldarg.0 IL_0002: ldarg.1 IL_0003: add IL_0004: stloc.0 //000008: return c; IL_0005: ldloc.0 IL_0006: stloc.1 IL_0007: br.s IL_0009 //000009: } IL_0009: ldloc.1 IL_000a: ret } // end of method Simple::Sum .method public hidebysig instance int32 Test(int32 a) cil managed { // Размер кода: 7 (0x7) .maxstack 1 .locals init ([0] int32 CS$1$0000) //000010: //000011: public int Test(int a) { IL_0000: nop //000012: return a; IL_0001: ldarg.1 IL_0002: stloc.0 IL_0003: br.s IL_0005 //000013: } IL_0005: ldloc.0 IL_0006: ret } // end of method Simple::Test .method public hidebysig static void Main() cil managed { .entrypoint // Размер кода: 31 (0x1f) .maxstack 2 .locals init ([0] int32 result, [1] class Simple s) //000014: //000015: public static void Main() { IL_0000: nop //000016: int result=Sum(3, 5); IL_0001: ldc.i4.3 IL_0002: ldc.i4.5 IL_0003: call int32 Simple::Sum(int32, int32) IL_0008: stloc.0 //000017: Console.WriteLine(result); IL_0009: ldloc.0 IL_000a: call void [mscorlib]System.Console::WriteLine(int32) IL_000f: nop //000018: //000019: Simple s = new Simple(); IL_0010: newobj instance void Simple::.ctor() IL_0015: stloc.1 //000020: s.Test(5); IL_0016: ldloc.1 IL_0017: ldc.i4.5 IL_0018: callvirt instance int32 Simple::Test(int32) IL_001d: pop //000021: } IL_001e: ret } // end of method Simple::Main .method public hidebysig specialname rtspecialname instance void .ctor() cil managed { // Размер кода: 7 (0x7) .maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ret } // end of method Simple::.ctor } // end of class Simple // ============================================================= // *********** ДИЗАССЕМБЛИРОВАНИЕ ЗАВЕРШЕНО *********************** // ВНИМАНИЕ: создан файл ресурсов Win32 00.simple.ilasm.res