下你所需,载你所想!
汇集开发技术源码资料

获取文本长度repne scasb两个命令用法

:1.416KB :1 :2020-09-10 15:38:22

部分简介

' xor eax,eax eax清零 这里要用到al 清零后al=0
' mov edi, dword [ebp+0x08] 取文本地址
' mov edi, dword [edi] 取文本地址
' test edi,edi 判断变量是否为空
' je lab 如果传递的变量为空跳出 结束
' mov ecx,-1 这里ecx用来计次用每比较一次减去1,这里初始值是-1 因为如果是0的话就结束循环所以不能填0
' repne scasb 这里比较edi指向的文本每次取一个字节来和al做比较 这里 al始终是0 因为文本最后一个字符是0 所以遇到0文本就结束了
' mov eax,-2 汇编是从0开始 而易语言文本长度是从1开始 所以给eax个 -2 初始值
' sub eax, ecx ecx判断结束的值是负数也就是文本到结束的长度 eax -2 - ecx 负负得正后就是文本实际长度
' lab:
' leave 堆栈平衡下
' retn 0x04 返回4个字节整数数据

获取文本长度repne scasb两个命令用法

热门推荐

相关文章