概要
ilasmでstack machineやってみた。
練習問題やってみた。
練習問題
ilasmでclassを書け。
方針
- floatを足すclassを作る。
サンプルコード
.assembly oop {}
.class Calc extends [mscorlib]System.Object {
.method public void .ctor() {
ret
}
.method public float32 Sum(float32, float32) {
ldarg.1
ldarg.2
add
ret
}
}
.class public Program extends [mscorlib]System.Object {
.method public static void Main(string[] args) {
.maxstack 3
.entrypoint
newobj instance void Calc::.ctor()
ldc.r4 4.5
ldc.r4 45.67
call instance float32 Calc::Sum(float32, float32)
call void [mscorlib]System.Console::WriteLine(float32)
ret
}
}
実行結果
>oop
50.17
以上