首页
社区
课程
招聘
调试得时候遇到得问题~[求助]
发表于: 2006-1-7 18:49 3460

调试得时候遇到得问题~[求助]

2006-1-7 18:49
3460
Test eax,eax
jl xxxx
什么时候才跳转?

vb程序关键跳转在vb得动态连接库中,那样怎么修改?

[培训]科锐软件逆向54期预科班、正式班开始火爆招生报名啦!!!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 389
活跃值: (912)
能力值: ( LV9,RANK:770 )
在线值:
发帖
回帖
粉丝
2
小于转移(JL)/不大于且不等于转移(JNGE)
2006-1-8 11:46
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个问题我也困惑了一段时间,最后在《看雪精华6》内找到这样的解释,希望有所帮助。

test属于逻辑运算指令

功能: 执行BIT与BIT之间的逻辑运算
     测试(两操作数作与运算,仅修改标志位,不回送结果).
Test对两个参数(目标,源)执行AND逻辑操作,并根据结果设置标志寄存器,结果本身不会保存。TEST AX,BX 与 AND AX,BX 命令有相同效果

语法: TEST r/m,r/m/data
影响标志: C,O,P,Z,S(其中C与O两个标志会被设为0)

运用举例:
1.Test用来测试一个位,例如寄存器:

test eax, 100b;          b后缀意为二进制
jnz  ******;             如果eax右数第三个位为1,jnz将会跳转

我是这样想的,jnz跳转的条件是ZF=0,ZF=0意味着ZF(零标志)没被置位,即逻辑与结果为1.

2.Test的一个非常普遍的用法是用来测试一方寄存器是否为空:

test ecx, ecx
jz somewhere

如果ecx为零,设置ZF零标志为1,Jz跳转
2006-1-8 20:18
0
游客
登录 | 注册 方可回帖
返回