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.
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.ProgramAnonymous
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 ModuleAnonymous
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 removedAnonymous
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 ...