📄 simple2.il
字号:
.assembly extern mscorlib { }
.assembly OddOrEven { }
.module OddOrEven.exe
.module extern msvcrt.dll
.namespace Odd.or {
.class public auto ansi Even extends [mscorlib]System.Object {
.field public static int32 val
.method public static void check( ) cil managed {
.locals init (int32 Retval)
.entrypoint
AskForNumber:
ldstr "Enter a number"
call void [mscorlib]System.Console::WriteLine(string)
.try {
call string [mscorlib]System.Console::ReadLine()
// pop
// ldnull
ldstr "%d"
ldsflda int32 Odd.or.Even::val
call vararg int32 sscanf(string,string,...,int32*)
stloc.0
leave.s DidntBlowUp
}
catch [mscorlib]System.Exception
{
ldstr "KABOOM!"
call void [mscorlib]System.Console::WriteLine(string)
leave.s Return
}
DidntBlowUp:
ldloc.0
brfalse.s Error
ldsfld int32 Odd.or.Even::val
ldc.i4.1
and
brfalse.s ItsEven
ldstr "odd!"
br.s PrintAndReturn
ItsEven:
ldstr "even!"
br.s PrintAndReturn
Error:
ldstr "How rude!"
PrintAndReturn:
call void [mscorlib]System.Console::WriteLine(string)
ldloc.0
brtrue.s AskForNumber
Return:
ret
} // end of method
} // end of class
} // end of namespace
.method public static pinvokeimpl("msvcrt.dll") vararg int32 sscanf(string,string) cil managed { }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -