msg db "a",0x00,
global inst_test_strlen
inst_test_strlen:
push ebp
mov ebp, esp
sub esp, 38h
mov ecx, 0xFFFFFFFF ;计数值赋初值
mov edi, msg ;消息的指针基地址
mov eax, 0 ;匹配串结束字符 al=='\0'
repne scasb ;循环开始,ecx减一,搜索edi开始的字符串,匹配al的值,没有匹配继续循环,匹配到退出循环
mov eax, ecx ;结果存eax
not eax ;取反码
lea eax, [eax-1] ;减去'\0'的那一次计数
leave
retn
eax为字符串的长度,作为函数的返回值输出。