首页
社区
课程
招聘
下面的汇编是什么意思?
发表于: 2010-12-14 21:23 8227

下面的汇编是什么意思?

2010-12-14 21:23
8227
DEC EAX
     SETE AL     这一行是什么意思?
     TEST AL,AL
     JE tt.00029F3D
  eax内不论是0,9等数字,SETE AL 以后都会变成0。想改成TEST AL,AL  是false

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
新手票过
2010-12-14 21:29
0
雪    币: 226
活跃值: (1349)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个sete是由前面的你没贴出来的代码决定的,改成setne就可以了
2010-12-14 21:33
0
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
MOV EAX,DWORD PTR DS:[ESI]
MOVZX EAX,BYTE PTR DS:[EAX+28C]
MOV EDX,DWORD PTR DS:[C06820]
MOV DX,WORD PTR DS:[EDX+EAX*8+2]
MOV ECX,DWORD PTR DS:[C06820]
MOV AX,WORD PTR DS:[ECX+EAX*8]
XOR ECX,ECX
CALL <JMP.&l.keyType>
DEC EAX
SETE AL
TEST AL,AL
JE tt.00029F3D
MOV EAX,DWORD PTR DS:[ESI]
CALL tt.002D856AC

顺便问一下这个代码是什么意思,改变数值的原则是什么
2010-12-14 21:40
0
雪    币: 38
活跃值: (48)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
SETE/SETZ - Set if Equal / Set if Zero (386+)


Usage:  SETE    dest
        SETZ    dest

Modifies flags: none

Sets the byte in the operand to 1 if the Zero Flag is set,
otherwise sets the operand to 0.

0F 94 SETE r/m8 Set byte if equal (ZF=1)
0F 94 SETZ r/m8 Set byte if zero (ZF=1)
2010-12-14 22:10
0
雪    币: 38
活跃值: (48)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
DEC EAX
SETE AL                                               ;if eax == 1 (AL=1 )else (AL=0)
TEST AL,AL
JE tt.00029F3D                                  ;CALL <JMP.&l.keyType>的返回值若不为1则跳转
MOV EAX,DWORD PTR DS:[ESI]
CALL tt.002D856AC
2010-12-14 22:13
0
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
大概了解,是z标志被设置以后就会使操作数变成1,否则会变成0。

但是不明白应该,怎么个叫被设置?这个地方应该怎么修改?
2010-12-14 22:17
0
雪    币: 38
活跃值: (48)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
dec eax 执行之前把eax改为1即可
2010-12-14 22:24
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
只为了能拿点分,好升级。
2010-12-15 21:38
0
雪    币: 244
活跃值: (169)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
这样啊.啊~~~~啊~~~~-_-!!!
2011-9-7 14:48
0
雪    币: 191
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
这样啊.啊~~~~啊~~~~-_-!!!
2012-10-3 15:58
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
学习了
2012-10-16 10:46
0
雪    币: 3202
活跃值: (1917)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
SETE AL 这个是条件为真或为假的判定。

改成相反的是 SETNE AL

我忘了哪一个是为真,哪一个是为假。
2012-10-18 06:20
0
游客
登录 | 注册 方可回帖
返回
//