壊れた過去と現在となの

zickです。
試験ということで今は開発は休憩中です。
趣向を変えてNScripterで書かれたソースでも載せてみます。

;;;下方向に成長するスタックのPUSHとPOP
*push
if %sp >= STACK_OVER mesbox "スタックオーバフロー", "Error" : end
mov %%sp, %arg0
inc %sp
return
*pop
if %sp <= STACK mesbox "Popできません", "Error" : end
dec %sp
mov %ret, %%sp
return

NScripterって意外なことに、変数の間接参照とか出来て便利です。
そのかわり、局所変数に相当するものがないので、
関数(というよりラベル)の呼び出しをすると、変数が壊れます。
再帰呼び出しなんかをしようと思ったらスタックが必須でした。
ちなみにNScLisperのソースのほとんどはこのpush/popの呼び出しで出来てます(笑)

One Response to “壊れた過去と現在となの”

  1. midou より:

    KARASU BLOGもよろしく。

Leave a Reply