tzblue 发表于 2014-10-15 20:22:21

关于指令REPNZ SCASB的问题

希望这个问题符合汇编语言版块, 请大家帮忙解释一下我遇到的问题. 代码如下:_________________________________________________________________________________
//下面代码的目的是在字符串str中查找字符7, 并确定其位置.
//当ecx不等于0, 且zf不等于1的时候, repnz重复执行后面的指令scasb


char *str = "1234567890";
__asm
{
   mov al, '7'
   mov edi, str
   mov ecx, -1
   repnz scasb
   not ecx
   dec ecx
}

_________________________________________________________________________________
在OD中查看, 循环是否结束, 跟zf位似乎没有什么关系, 比如, 在对比到字符3的时候, 手动设置zf=1, 循环仍然会继续下去, 直到对比到7的时候才停止.

请问这是什么原因?
页: [1]
查看完整版本: 关于指令REPNZ SCASB的问题