//  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