关于指令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]