打印

请教一个奇怪的汇编语句

[复制链接]
1545|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jzgunking|  楼主 | 2007-2-10 10:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
xor     eax, eax
test    eax, eax

这段代码是想完成一个什么操作?

相关帖子

沙发
lixun00| | 2007-2-10 11:18 | 只看该作者

线eax和eax异或,在测试它,通常用在跳转

使用特权

评论回复
板凳
jzgunking|  楼主 | 2007-2-10 11:39 | 只看该作者

这样是想测试eax的什么状态?

使用特权

评论回复
地板
平常人| | 2007-2-10 13:49 | 只看该作者

eax清零再做测试,估计是要设置某个状态位为一固定值

使用特权

评论回复
5
jzgunking|  楼主 | 2007-2-10 15:54 | 只看该作者

这样做有什么意义吗?被清0后test肯定为真啊

使用特权

评论回复
6
AA_55| | 2007-2-10 16:29 | 只看该作者

你这个是x86系列CPU的汇编语言指令吧?

各种不同的CPU汇编语言指令是不同的,指令的动作也是不同的,提问时候要说明。要不,谁知道你说的是什么CPU的指令,怎么分析呢。

姑且就按照x86指令说吧。这两条指令执行的结果,就是为了令CPU标志寄存器中的零标志位置零。x86不同于51,没有位处理指令,为了达到令零标志位置零的目的,就采用这种迂回的办法。至于为什么要将零标志位置零,因为没有相关的上下文代码段,就不得而知了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

24

帖子

0

粉丝