次の方法で共有


Jule konkurrence - Låge nr. 3

Idag skal vi lidt over i en anden boldgade, og det kræver du kender til din IL kode.

Du skal oversætte følgende IL kode til et vilkårligt .NET sprog. Den der kommer tættest på vinder en optisk mus samt tastatur.

IMG_2371

Good luck boys and girls!

    1:  .class private auto ansi beforefieldinit Program
    2:      extends [mscorlib]System.Object
    3:  {
    4:      .method public hidebysig specialname rtspecialname instance void .ctor() cil managed
    5:      {
    6:          .maxstack 8
    7:          L_0000: ldarg.0 
    8:          L_0001: call instance void [mscorlib]System.Object::.ctor()
    9:          L_0006: ret 
   10:      }
   11:   
   12:      .method private hidebysig static void Main(string[] args) cil managed
   13:      {
   14:          .entrypoint
   15:          .maxstack 1
   16:          .locals init (
   17:              [0] string text)
   18:          L_0000: nop 
   19:          L_0001: ldstr "Nu er det snart Jul!"
   20:          L_0006: stloc.0 
   21:          L_0007: ldloc.0 
   22:          L_0008: call void [mscorlib]System.Console::WriteLine(string)
   23:          L_000d: nop 
   24:          L_000e: call string [mscorlib]System.Console::ReadLine()
   25:          L_0013: pop 
   26:          L_0014: ret 
   27:      }
   28:   
   29:  }
   30:   

Comments

  • Anonymous
    December 02, 2008
    Det er debug build af følgende: using System; namespace ConsoleApplication1 {    class Program {        static void Main(string[] args) {            var text = "Nu er det snart jul";            Console.WriteLine(text);            Console.ReadLine();        }    } } Du kan selvfølgelig have brugt "string" i stedet for "var", men da det oversætter til samme IL kan jeg kun gætte.

  • Anonymous
    December 02, 2008
    using System; namespace JuleKonkurrenceConsoleProgram {    class Program    {        static void Main(string[] args)        {            string text = "Nu er det snart jul!";            Console.WriteLine(text);            Console.ReadLine();                    }    }     } har dog et spørgsmål til Linie 1 .class private auto ansi beforefieldinit Program Mangler den ikke et namespace? .class private auto ansi beforefieldinit Namspace.Program

  • Anonymous
    December 02, 2008
    Er godt nok c# udvikler - men jeg prøver med "det glemte sprog" Jeg vil gerne være en dårlig sport og påpege at Ronniedrengen og Brian mangler et stort J i Jul (tsk tsk) Module Program    Sub Main()        Dim text As String        text = "Nu er det snart Jul!"        Console.WriteLine(text)        Console.ReadLine()    End Sub End Module

  • Anonymous
    December 03, 2008
    OK, jeg var ikke hurtig nok ude idag. Hvad laver de to nop's i linje 18 og 23? Jeg er klar over at compileren i debug mode smider nop's for at breakpoints og steps bliver muligt forskellige steder. Men jeg forstår ikke de to ...

  • Anonymous
    December 03, 2008
    Brian Rasmussen kom tættest på i konkurrencen igår . Jeg havde nemlig brugt "keywordet"

  • Anonymous
    December 03, 2008
    The comment has been removed

  • Anonymous
    December 04, 2008
    Jeg havde forstået det sådan at compileren smed nop's ind  hvor der er brackets, for at man kan breake på dem. Men sådan er det ikke i dette eksempel, hmm  ...