我必须回答以下关于 6502 汇编语言的问题:
“在堆栈上,有以下值(顶部元素在前):0x01, 0x02, 0x03, 0x04, 0x05, 0x06
地址0xc000
是指令jsr 0xABCD
。在获取/执行周期之后,哪个值将存储在程序计数器中,堆栈的顶部元素是什么?”
我知道程序计数器将是0xABCD
,但我对堆栈元素感到困惑。我知道在 6502 架构中,堆栈从顶部到底部(从0x01FF
到0x0100
)增长。所以,我假设,堆栈指针指向元素0x01
,对吧?
现在,返回地址应该是program counter + 3
,因为有next
命令,所以我会说,0xc003
将被压入堆栈,但以小端顺序排列,因此c0
将是顶部元素。那是对的吗?