サイト
前回とか
説明
Functionレベルの説明をしていきます。
これは渡された引数を2倍にしてスタックに入れるプログラムです
init.stack # スタック初期化
push.value 5 # 5をプッシュ
pop.argument 1 # 5(ポップした値)を引数とする このマクロの引数には引数IDを指定する
call n_x2 1 # 関数を実行する このマクロの引数は関数名と引数の個数を指定する
push.static RETVAL # 返り値をプッシュする
goto end # プログラムを終わらせる
function n_x2 1 # 関数を定義する このマクロの引数はローカル変数の個数を示す
push.argument 1 # スタックに引数を入れる
pop.d # 実行するコード(この場合だと二倍するコード)
push.d
push.d
add
return # スタックからとってきた値を返り値にして元の場所に返す
end:
ただ、引数を二個以上指定する方法は知らないので、有識者は教えてくれると嬉しいです!
次回とかまとめ