repne scasb 计算字符串的长度

repne scasb 计算字符串的长度

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

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

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

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

 

posted @ 2020-03-17 12:06  OneTrainee  阅读(968)  评论(0编辑  收藏  举报