から




IV-10 Edit

仮想計算機で用いられるスタックマシンが次の命令を有するとする。 Edit

push a
スタックにデータaをプッシュする。
dup
スタックの最上部のデータを複製してスタックにプッシュする。
exch
スタックの最上部の2つのデータの位置を交換する。
add
スタックから2つのデータをポップし、その和をスタックにプッシュする。
sub
スタックから2つのデータをポップし、その差をスタックにプッシュする。
(スタック最上部2番目のデータから最上部のデータを引く。)
mul
スタックから2つのデータをポップし、その積をスタックにプッシュする。

このとき,次のように記述されたプログラムが最終的にスタックに残す結果は,どの式を処理したものと同じか。

push a
push b
sub
dup
push 1
add
exch
push 2
sub
mul
  1. (a-b+2)*1
  2. (a-b+1)*(a-b-2)
  3. (a-b-1)*(-2)
  4. (a-b+2)*(a-b-1)
  5. (a-b)*(1-2)

memo Edit

Link Edit



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 下位頁新規  一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-02-22 Mon 23:18:50 JST (3161d)