0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

nandgameでOS作ってみよう #4

Posted at

サイト

前回とか

説明

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:

ただ、引数を二個以上指定する方法は知らないので、有識者は教えてくれると嬉しいです!

次回とかまとめ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?