6502 アセンブリ言語に関する次の質問に答える必要があります。
「スタックには、次の値があります (一番上の要素が最初):0x01, 0x02, 0x03, 0x04, 0x05, 0x06
アドレス0xc000
は命令jsr 0xABCD
です。フェッチ/実行サイクルの後にプログラム カウンターに格納される値と、スタックの一番上の要素は何ですか?」
プログラムカウンターが になることはわかっていますが0xABCD
、スタック要素について混乱しています。6502 アーキテクチャでは、スタックが上から下に (から0x01FF
まで0x0100
) 成長することを知っています。だから、スタックポインタは要素を指していると0x01
思いますよね?
ここで、コマンドprogram counter + 3
があるため、戻りアドレスは である必要があります。つまり、スタックにプッシュされますが、リトルエンディアン順であるため、最上位の要素になります。あれは正しいですか?next
0xc003
c0