NBeeeeee 发表于 2015-10-19 19:22:01

关于单步中断问题

当检测到中断信息的时候
1.取得中断类型码
2,标志寄存器,TF,IF设置为0
3、CS,ip如栈
4,设置cs ip 指向中断例程

如果在debug中运用单步中断t   假设上一条指令时mov ss,ax    movsp,0010
再用T执行他的时候,过程是怎样的?   我知道iret是返回去的指令,但SS和SP改变了,是怎么返回去的?

2418267670 发表于 2015-10-19 19:22:02

单步执行时,这三项先压栈,在执行中断时,就恢复现场了。ss,sp值不改变。

NBeeeeee 发表于 2015-10-19 19:30:25

2418267670 发表于 2015-10-19 19:28
单步执行时,这三项先压栈,在执行中断时,就恢复现场了。ss,sp值不改变。

我是用T命令执行 mov ss,axmov sp,0010.。。SS和SP怎么会不变?

NBeeeeee 发表于 2015-10-19 19:37:47

来大神帮帮忙啊!!

2418267670 发表于 2015-10-22 14:02:49

mov ax,????
mov ss,ax
mov sp,??
这是相连的。

2418267670 发表于 2015-10-22 14:04:20

执行mov ss,ax后,紧跟着就执行mov sp,??,不会单步中断。所以,mov sp,??要紧跟mov ss,ax.
页: [1]
查看完整版本: 关于单步中断问题