Z80 NMI是否可以重入?

时间:2016-10-02 08:39:54

标签: z80

从我可以收集的内容中,Z80 NMI中断(0x66)由NMI引脚的边沿检测触发。当仍然在NMI处理程序代码内部(RETN尚未执行)时检测到另一个边缘时会发生什么?

NMI是否可以重入,Z80是否会将当前地址推送到堆栈并再次从0x66开始?

1 个答案:

答案 0 :(得分:3)

我的阅读是第二个NMI会中断第一个NMI的处理。 NMI处理避免额外中断的唯一特殊之处是备份IFF1到IFF2,然后设置IFF1(RETN的特殊功能在另一个方向恢复)。但那不会禁止NMI。因此,没有机制可以忽略未来的NMI。

这在文献中有轻微的备份,尽管很微妙 - e.g."在程序控制下无法禁用此负边沿触发中断,并且CPU随时可以接受在完成当前指令时很荣幸(如果总线请求未待决)&#34 ;;强调增加了但也注意到总线请求已作为特殊情况被撤销,没有提及现有的NMI。