我來回答關於6502彙編語言以下問題:6502彙編 - RTS命令和堆棧
「在堆棧中,有以下值(頂級元素在前):0x01, 0x02, 0x03, 0x04, 0x05, 0x06
在地址0xc000
是指令jsr 0xABCD
。在取/執行週期後哪個值將被存儲在程序計數器中,堆棧的頂部元素是什麼?
我知道程序計數器將是0xABCD
,但我對堆棧元素感到困惑。我知道在6502架構中,堆棧從頂部到底部(從0x01FF
到0x0100
)增長。所以,我認爲,堆棧指針指向元素0x01
,對吧?現在
,返回地址應該是program counter + 3
,因爲在next
命令,所以我會說,0xc003
會在堆棧上推,但在小尾數順序,因此c0
將是第一項。那是對的嗎?
我會調用堆棧(0x1ff)的底部和0x100頂部的起點。在LE機器中_consistent_模型將存儲'03'在較小的地址。 –
只是警告:在6502中,JSR將(返回地址-1)推入堆棧。也就是說,RTS在拉動後遞增。 – cyco130