1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
.assembly extern mscorlib{}
.assembly ILGEN_MODULE{}
.class ILGEN_CLASS
{
.method static int64 ILGEN_METHOD(unsigned int32, float32, unsigned int8, char, int64, float64)
{
.maxstack 65535
.locals init (float64, unsigned int32, int64, int32, unsigned int16, unsigned int64, char, int8, unsigned int32, bool, bool)
ldc.i8 0xfc7246b593d3e823
not
neg
ldarg 0x0005
conv.i2
conv.r.un
ldarg.s 0x05
conv.r4
cgt.un
nop
ldc.i8 0xb230872abaf2c301
conv.ovf.i
or
ldarg.s 0x02
conv.r.un
conv.ovf.i8.un
conv.ovf.u1.un
add.ovf.un
shl
ldloc 0x0004
dup
ldloc.s 0x08
not
ceq
clt
conv.r4
pop
ldarg.s 0x05
conv.ovf.i8.un
conv.ovf.i8
bgt skip
nop
skip:
ldarg 0x0004
conv.u8
ret
}
.method static int32 Main()
{
.entrypoint
.try
{
ldc.i4 0
ldc.r4 0
ldc.i4 0
dup
ldc.i8 0
ldc.r8 0
call int64 ILGEN_CLASS::ILGEN_METHOD(unsigned int32, float32, unsigned int8, char, int64, float64)
pop
leave.s done
}
catch [mscorlib]System.Exception
{
leave.s done
}
done:
ldc.i4 100
ret
}
}
|