关于6502的一个简单而愚蠢的问题。例如,指令NOP需要2个周期。如果中断发生在6502上,它会发生在NOP的两个周期之间吗?
那么,这是一种可能的情况:
NOP cycle 1
[ INTERRUPT ]
NOP cycle 2当然,这个问题也适用于其他说明。是否会中断“等待”整个指令完成,或者它会中断指令本身?
发布于 2021-01-15 01:08:07
将评论四舍五入为社区维基:
当前指令finishes first:“当外围设备需要服务并将中断请求(IRQ线)拉到低电平时,允许当前执行的机器语言指令结束,并启动7时钟中断序列。此序列类似于执行未写入程序的指令,但由于IRQ线被拉到逻辑低电平的事实而隐式插入。”
仅在指令的倒数第二个周期检查中断状态;因此,如果中断请求正在进行,但在序列之前设置了中断禁用标志:
CLI
SEI则会发生以下情况:
在命令行界面结束前一个周期,中断禁用标志仍被设置,因此在命令行界面结束后不会发生任何事情;
P设置了中断禁用标志。<代码>H211<代码>F212https://stackoverflow.com/questions/65708717
复制相似问题