2 // Microsoft (R) .NET Framework IL Disassembler. Version 1.0.3705.0
3 // Copyright (C) Microsoft Corporation 1998-2001. All rights reserved.
5 .assembly extern mscorlib
7 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
12 // --- The following custom attribute is added automatically, do not uncomment -------
13 // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(bool,
14 // bool) = ( 01 00 01 00 00 00 )
15 .hash algorithm 0x00008004
19 // MVID: {B0E5F267-024F-4374-8B69-829095D88C15}
24 // Image base: 0x03010000
26 // ============== CLASS STRUCTURE DECLARATION ==================
28 .class private auto ansi beforefieldinit App
29 extends [mscorlib]System.Object
34 // =============================================================
37 // =============== GLOBAL FIELDS AND METHODS ===================
40 // =============================================================
43 // =============== CLASS MEMBERS DECLARATION ===================
44 // note that class flags, 'extends' and 'implements' clauses
45 // are provided here for information only
47 .class private auto ansi beforefieldinit App
48 extends [mscorlib]System.Object
50 .method public hidebysig static int32 Main(string[] args) cil managed
53 // Code size 171 (0xab)
55 .locals init ([0] int64 i1,
59 [4] valuetype [mscorlib]System.DateTime start,
60 [5] valuetype [mscorlib]System.DateTime end,
63 [8] valuetype [mscorlib]System.TimeSpan CS$00000000$00000000)
64 .language '{3F5162F8-07C6-11D3-9053-00C04FA302A1}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
65 // Source File 'c:\test\hello.cs'
66 //000009: long i4 = 100000000;
70 //000010: DateTime start, end;
71 IL_0003: ldc.i4 0x5f5e100
74 //000011: double n1, n2;
75 //000012: Console.WriteLine("Iterations: {0}", i4);
77 IL_000a: ldstr "Iterations: {0}"
79 IL_0010: box [mscorlib]System.Int64
80 IL_0015: call void [mscorlib]System.Console::WriteLine(string,
84 //000025: i5 = i4 * i1;
88 //000026: Console.WriteLine("Estimated ops: {0}", i5);
93 //000027: start = DateTime.Now;
94 IL_0021: ldstr "Estimated ops: {0}"
96 IL_0027: box [mscorlib]System.Int64
97 IL_002c: call void [mscorlib]System.Console::WriteLine(string,
100 IL_0031: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now()
101 IL_0036: stloc.s start
102 //000029: i4 = i4 - i3;
103 //000030: if (i4 > 0)
112 IL_003f: bgt.s IL_0038
114 //000032: end = DateTime.Now;
115 //000033: n2 = (end-start).TotalMilliseconds;
116 IL_0041: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_Now()
118 //000034: n2 /= 1000; // Milliseconds to seconds
120 IL_004a: ldloc.s start
121 IL_004c: call valuetype [mscorlib]System.TimeSpan [mscorlib]System.DateTime::op_Subtraction(valuetype [mscorlib]System.DateTime,
122 valuetype [mscorlib]System.DateTime)
123 IL_0051: stloc.s CS$00000000$00000000
124 IL_0053: ldloca.s CS$00000000$00000000
125 IL_0055: call instance float64 [mscorlib]System.TimeSpan::get_TotalMilliseconds()
127 //000035: Console.WriteLine("Elapsed Time: {0}", n2);
129 IL_005e: ldc.r8 1000.
133 IL_006a: ldstr "Elapsed Time: {0}"
135 IL_0071: box [mscorlib]System.Double
136 IL_0076: call void [mscorlib]System.Console::WriteLine(string,
142 //000038: n2 = 100000.0;
148 IL_0086: ldc.r8 100000.
150 //000040: Console.WriteLine("M op/s: {0}", n1);
156 IL_0098: ldstr "M op/s: {0}"
158 IL_009f: box [mscorlib]System.Double
159 IL_00a4: call void [mscorlib]System.Console::WriteLine(string,
164 } // end of method App::Main
166 .method public hidebysig specialname rtspecialname
167 instance void .ctor() cil managed
172 IL_0001: call instance void [mscorlib]System.Object::.ctor()
174 } // end of method App::.ctor
176 } // end of class App
179 // =============================================================
181 //*********** DISASSEMBLY COMPLETE ***********************
182 // WARNING: Created Win32 resource file hello.res