哪个高人帮我看一下下面这段汇编代码什么意思

zhdx1981 2009-01-15 11:53:20
反汇编一个东东,里面有这样一段代码:
....
call ebx
xor ecx,ecx
cmp eax,0xffffffff
setz cl
mov eax,ecx
test eax,eax
jz short loc_4015f5

请问,谁知道里面setz cl以及下面的语句什么意思啊?要实现什么功能?
...全文
52 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
土豆 2009-01-15
  • 打赏
  • 举报
回复
新条件指令集setCC,setz意思是当flag z标志被设定时,cl寄存器设1,否则cl为0。这样就省去了条件跳转.类似下面的伪代码:

call ebx
ecx <= 0;
if (eax == -1) //cmp eax,0xffffffff
{
cl <= 1;
}
else
{
cl <= 0;
}
eax <= ecx;

if (eax == 0)
{
jump to loc_4015f5 ;
}
zhdx1981 2009-01-15
  • 打赏
  • 举报
回复
非常感谢FireAngel

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧