鱼C论坛

 找回密码
 立即注册
查看: 2337|回复: 3

[争议讨论] 为什么(mov sp,2)在单步调试中会跳过

[复制链接]
发表于 2012-6-3 02:13:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
不知道为啥,我上传不了图片..
转入正题
0B25:0125 BC0200        MOV     SP,0002
0B25:0128 B86622        MOV     AX,2266
0B25:012B 50            PUSH    AX
0B25:012C 803E0C9801    CMP     BYTE PTR [980C],01
0B25:0131 7503          JNZ     0136
0B25:0133 E823E1        CALL    E259
0B25:0136 E85C01        CALL    0295
0B25:0139 AC            LODSB
0B25:013A E85801        CALL    0295
-t

AX=0000  BX=8833  CX=8833  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=1000  ES=0B25  SS=1000  CS=0B25  IP=0120   NV UP DI NG NZ AC PO NC
0B25:0120 B80010        MOV     AX,1000
-t

AX=1000  BX=8833  CX=8833  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=1000  ES=0B25  SS=1000  CS=0B25  IP=0123   NV UP DI NG NZ AC PO NC
0B25:0123 8ED0          MOV     SS,AX
-t

AX=1000  BX=8833  CX=8833  DX=0000  SP=0002  BP=0000  SI=0000  DI=0000
DS=1000  ES=0B25  SS=1000  CS=0B25  IP=0128   NV UP DI NG NZ AC PO NC
0B25:0128 B86622        MOV     AX,2266


就是我在debug单步调试时发现, 0B25:0125 BC0200        MOV     SP,0002,会被跳过,这是怎么回事呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-6-3 07:27:15 | 显示全部楼层
ss:sp联合指向栈顶,cpu对其设置是连续的。因此在执行完设置ss的指令后,cpu不会响应中断而直接执行下一条语句。debug的t命令是一种中断,执行完MOV SS,AX后cpu不响应单步中断,执行下一条MOV     SP,0002,所以不会显示,但实际上还是执行了,并不是跳过。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-6-3 08:25:34 | 显示全部楼层
谢谢,好人半路捡到钱
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-6-3 08:26:06 | 显示全部楼层

谢谢,好人半路捡到钱
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-20 07:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表