poupou@pollux:~/src/bugzilla> cat ex.cs using System; class Program { static int BigTest () { return 256; } static byte SmallTest () { return 0; } static int Main (string[] args) { if (args.Length == 0) return BigTest (); else return SmallTest (); } } poupou@pollux:~/src/bugzilla> monodis ex.exe .assembly extern mscorlib { .ver 1:0:5000:0 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. } .assembly 'ex' { .hash algorithm 0x00008004 .ver 0:0:0:0 } .module ex.exe // GUID = {011DCBF7-6E15-4B98-8FF7-E855015AB443} .class private auto ansi beforefieldinit Program extends [mscorlib]System.Object { // method line 1 .method public hidebysig specialname rtspecialname instance default void .ctor () cil managed { // Method begins at RVA 0x20ec // Code size 7 (0x7) .maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void object::.ctor() IL_0006: ret } // end of method Program::.ctor // method line 2 .method private static hidebysig default int32 BigTest () cil managed { // Method begins at RVA 0x20f4 // Code size 6 (0x6) .maxstack 8 IL_0000: ldc.i4 256 IL_0005: ret } // end of method Program::BigTest // method line 3 .method private static hidebysig default unsigned int8 SmallTest () cil managed { // Method begins at RVA 0x20fc // Code size 2 (0x2) .maxstack 8 IL_0000: ldc.i4.0 IL_0001: ret } // end of method Program::SmallTest // method line 4 .method private static hidebysig default int32 Main (string[] args) cil managed { // Method begins at RVA 0x2100 .entrypoint // Code size 20 (0x14) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldlen IL_0002: conv.i4 IL_0003: brtrue IL_000e IL_0008: call int32 class Program::BigTest() IL_000d: ret IL_000e: call unsigned int8 class Program::SmallTest() IL_0013: ret } // end of method Program::Main } // end of class Program