【发布时间】:2019-09-29 05:30:15
【问题描述】:
在微处理器 8085 中,我们运行命令 CALL 3000H 。程序计数器 (PC) 等于 (PC)=2000H,堆栈指针等于 (SP)=4000H。在执行命令的过程中,我们有一个 RST 5.5 中断。我想定义 PC 和 SP 的新值。我还想查找堆栈的内容以及例程返回前后发生的操作。
我认为由于中断发生在命令 CALL 3000H 开始之后,因此命令将完成。完成后,中断发生。程序计数器 (PC) 需要存储在堆栈中,以便程序可以返回到进行调用的点。这意味着 (SP) 被调整。程序计数器 (PC) 将在 RST 5.5 中断后取值 (PC) = 002CH。
我的方法正确吗?如果是这样,我仍然对堆栈指针(SP)和堆栈感到有些困惑。堆栈和(SP)值的调整究竟会发生什么?
【问题讨论】:
标签: assembly interrupt microprocessors 8085 stack-pointer