在微处理器 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)值的调整究竟会发生什么?