repne scasb 计算字符串的长度

repne scasb 计算字符串的长度

scasb 来判断 al数据是否在edi中,配合repne来使用(当不为零时继续遍历)。

该指令常用来判断字符串的长度。

其思路是将ecx置为-1(计数器),eax置为0(字符串结尾),之后每扫描一个ecx会再次减少1,当edi中找到0时其会终止,

此时ecx存储的是长度的负数,之后将 not ecx 来获取其长度,然后dec ecx (因为从1开始计数并非0开始计数),之后ecx就是存储着字符串的正确长度了。

原文地址:https://www.cnblogs.com/onetrainee/p/12509769.html