请教一个奇怪的汇编语句

[复制链接]
3132|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清零再做测试,估计是要设置某个状态位为一固定值

 楼主| jzgunking 发表于 2007-2-10 15:54 | 显示全部楼层

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

AA_55 发表于 2007-2-10 16:29 | 显示全部楼层

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

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

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

本版积分规则

22

主题

24

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部