バイト アドレス指定可能なメモリを備えたプロセッサを考えてみましょう。プログラム カウンター (PC) とプログラム ステータス ワード (PSW) を含むすべてのレジスターのサイズが 2 バイトであると仮定します。メイン メモリのスタックは、メモリ位置 (0100)hex から実装され、上方向に成長します。スタック ポインター (SP) は、スタックの一番上の要素を指します。SP の現在の値は (016E)hex です。CALL 命令は 2 ワードで構成され、最初のワードはオペコードで、2 番目のワードはサブルーチンの開始アドレスです (1 ワード = 2 バイト)。CALL 命令は次のように実装されます。
- PC の現在の値をスタックに格納する
- PSWレジスタの値をスタックに格納
- サブルーチンの開始アドレスをPCにロード
CALL 命令のフェッチ直前の PC の内容は (5FA0)hex です。CALL命令実行後のスタックポインタの値は、
A.016A
B.016C
C.0170
D.0172
この質問は、GATE 2015 コンピューター サイエンスで出題されました。
D を回答としてマークしました。回答が正しいかどうかわからないため、回答を確認するのを手伝ってください。
前もって感謝します。