1、获取字符串长度:
xor eax, eax ;eax = 0,C中字符串以/0结尾
or ecx, FFFFFFFF;ecx = -1,ecx一会儿存放字符串长度
repne scas byte ptr es:[edi];依次查询es : [edi]字符串中的每一个字符,直到找到al的值为止
not ecx ;将ecx转换为正数
dec ecx ;减去最后一个‘ \0 ’
本文介绍了一种使用汇编语言来计算字符串长度的方法。通过设置寄存器EAX为0,ECX为-1,并利用REPNE SCASBYTE指令逐个检查字符串中的字符直至遇到空字符结束符。最后调整ECX寄存器的值得到正确的字符串长度。
1、获取字符串长度:
xor eax, eax ;eax = 0,C中字符串以/0结尾
or ecx, FFFFFFFF;ecx = -1,ecx一会儿存放字符串长度
repne scas byte ptr es:[edi];依次查询es : [edi]字符串中的每一个字符,直到找到al的值为止
not ecx ;将ecx转换为正数
dec ecx ;减去最后一个‘ \0 ’

被折叠的 条评论
为什么被折叠?