.assembly extern mscorlib {}

.module MathUtils2.dll

.assembly MathUtils2
{
   .ver 1:0:1:0
}

.namespace ElemarJR.Blog
{
   .class public auto ansi MathUtils 
      extends [mscorlib]System.Object
   {
      .method public static void
         Main() cil managed
      {
         .maxstack 2
         .entrypoint
         
         ldstr "Primeiro valor: "
         call void [mscorlib]System.Console::WriteLine(string)
         call string [mscorlib]System.Console::ReadLine()
         call int32 [mscorlib]System.Int32::Parse(string)

         ldstr "Segundo valor: "
         call void [mscorlib]System.Console::WriteLine(string)
         call string [mscorlib]System.Console::ReadLine()
         call int32 [mscorlib]System.Int32::Parse(string)

         call bool ElemarJR.Blog.MathUtils::FirstIsGreater(int32, int32)
         brfalse.s FirstIsSmaller

         ldstr "O primeiro valor  maior do que o segundo"
         br.s Done

          FirstIsSmaller:
         ldstr "O primeiro valor  menor do que o segundo"
         

          Done:
         call void [mscorlib]System.Console::WriteLine(string)
         ret
      }

      .method public static bool
         FirstIsGreater(int32 x, int32 y) cil managed
      {
         .maxstack 2
         
         ldarg.0
         ldarg.1

         ble.s FirstIsSmaller
         
         ldc.i4.1
         ret
      
          FirstIsSmaller:
         ldc.i4.0
         ret
      }
   }
}
