【求助】不明白这个指令什么意思:repne scas byte ptr es:[edi]
|
帮我看下,不胜感激!
. 8D7C24 10 lea edi, dword ptr [esp+10] ; esp+10 指向字符串
. 83C9 FF or ecx, FFFFFFFF
. 33C0 xor eax, eax
. F2:AE repne scas byte ptr es:[edi] ; 这里不明白。
. F7D1 not ecx
. 49 dec ecx
部分汇编代码。
. 8D7C24 10 lea edi, dword ptr [esp+10] ; esp+10 指向字符串
. 83C9 FF or ecx, FFFFFFFF
. 33C0 xor eax, eax
. F2:AE repne scas byte ptr es:[edi] ; 这里不明白。
. F7D1 not ecx
. 49 dec ecx
部分汇编代码。
回答:
这个是最经典的求字符串长度的代码。
33C0 xor eax, eax
F2:AE repne scas byte ptr es:[edi] ; 这里不明白。
扫描字符串ES:[EDI]中的AL字节值,遇到AL值停止