首页
社区
课程
招聘
[旧帖] [求助]test eax,eax是什么意思? 0.00雪花
发表于: 2007-8-30 21:27 10426

[旧帖] [求助]test eax,eax是什么意思? 0.00雪花

2007-8-30 21:27
10426
收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tiz
2
相当于and eax, eax
但不改变eax的值 一般都是为了检验eax是否为空
2007-8-30 22:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
一般
if (a)
{
   a = 0;
}
else
{
   a++;
}

会生成
TEST EAX, EAX
JZ lb1    ;如果EAX为0则跳转到lb1
XOR EAX, EAX
RET
lb1:
INC EAX

即TEST后常用JZ, JNZ跳转指令
TEST EAX, EAX 则是将EAX与EAX进行与运算并设置标志位ZF但不把结果送回EAX
2007-8-30 23:50
0
雪    币: 88
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
学习下……
2007-12-27 13:29
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
Miros  的解答很好的。。
2007-12-27 15:47
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
学习一下,呵呵
2007-12-27 17:42
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
学习.
2007-12-27 18:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
学到了.
2008-2-14 12:45
0
雪    币: 118
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
也学习一下!谢谢!
2008-2-15 18:09
0
雪    币: 229
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
相当于eax对本身做一个and运算
and eax, eax
但是并不改变目的操作数的值,影响的只是相应的eflags,比如ZF,目的是判断eax是否为零,如果eax为零,则test后ZF=1
2008-2-15 18:14
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
的确有实力啊~~~~~
2008-2-17 23:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
不错,学习了,
2008-2-17 23:53
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
嗯,学习了,其实我们平时也可以自己写一些常用的例子,然后反编译过来学习
2008-2-18 14:45
0
游客
登录 | 注册 方可回帖
返回
//