CPU在执行完一条指令之后,如果检测到标志寄存器的TF位为1,则产生单步中断,引发中断过程。单步中断的中断类型码为1。

Debug是如何利用CPU所提供的单步中断的功能进行调试?如使用t命令查看寄存器状态。

Debug提供了单步中断的中断处理程序,功能为显示所有寄存器中的内容后等待输入命令。

在使用t命令执行指令时,Debug将TF设置为1,在CPU执行完这条指令后就引发单步中断,执行单步中断的中断处理程序,所有寄存器中的内容被显示在屏幕上,并且等待输入命令。

在进入中断处理程序之前,设置TF=0。从而避免CPU在执行中断处理程序的时候发生单步中断。