概要
ilasmでstack machineやってみた。
練習問題やってみた。
練習問題
ilasmで関数を書け。
方針
- 数値が倍になる関数baiを作る。
サンプルコード
.assembly bai {}
.method public static int32 bai(int32 n) {
.maxstack 3
ldarg n
dup
add
ret
}
.method public static void Main() {
.maxstack 3
.entrypoint
ldstr "enter n: "
call void [mscorlib]System.Console::Write(string)
call string [mscorlib]System.Console::ReadLine()
call int32 [mscorlib]System.Int32::Parse(string)
call int32 bai(int32)
call void [mscorlib] System.Console::WriteLine(int32)
ret
}
実行結果
>bai
enter n: 10
20
以上