首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

几条容易代码

2012-08-16 
几条简单代码请高手帮忙看下这个地方,这4句设置单步异常003B33A89Cpushfd003B33A9804C24 01 01orbyte ptr

几条简单代码
请高手帮忙看下这个地方,这4句设置单步异常
003B33A8 9C pushfd
003B33A9 804C24 01 01 or byte ptr [esp+1], 1
003B33AE 9D popfd
003B33AF 90 nop


pushfd之前
标志寄存器是

(百度图片不能外链,只能写个地址)
http://hiphotos.baidu.com/space/pic/item/8d5494eef01f3a29516ffa5e9925bc315d607cfe.jpg
这是标志位的值。


执行pushfd之后,栈顶是00000346,二进制是11 0100 0110
也就是tf位是1,但是压栈之前tf是0啊,pushf应该就是把标志寄存器压进去啊,但是之前tf是0,压栈之后看到的值显示的是1,同时这几句执行完之后tf还是0,没有出现异常。

[解决办法]
调试器调试的原因吧? 因为调试器要执行单步调试,TF必须是1啊.要不然,就不能返回调试器了吧.
[解决办法]
调试器调试的原因吧? 因为调试器要执行单步调试,TF必须是1啊.要不然,就不能返回调试器了吧.

热点排行