43,20 → 43,39 |
; ¢ë室¥: EAX - ¤«¨ áâப¨ ¡¥§ ãç¥â § ¢¥àè î饣® |
; ã«¥¢®£® ¡ ©â |
;----------------------------------------------------- |
;proc _lstrlen lpStr:DWORD |
; push edi ecx |
; |
; cld |
; mov edi,[lpStr] |
; xor ecx,ecx |
; dec ecx |
; xor eax,eax |
; repne scasb |
; not ecx |
; dec ecx |
; mov eax,ecx |
; |
; pop ecx edi |
; ret |
;endp |
|
;----------------------------------------------------- |
; ãªæ¨ï ¯®«ãç¥¨ï ¤«¨ë áâப¨ |
;----------------------------------------------------- |
; lpStr - 㪠§ ⥫ì áâபã ASCIIZ |
; ¢ë室¥: EAX - ¤«¨ áâப¨ ¡¥§ ãç¥â § ¢¥àè î饣® |
; ã«¥¢®£® ¡ ©â |
;----------------------------------------------------- |
proc _lstrlen lpStr:DWORD |
push edi ecx |
|
cld |
mov edi,[lpStr] |
xor ecx,ecx |
dec ecx |
push ebx |
mov ebx,[lpStr] |
xor eax,eax |
repne scasb |
not ecx |
dec ecx |
mov eax,ecx |
|
pop ecx edi |
@@: cmp byte[ebx+eax],0 |
je @f |
inc eax |
jmp @b |
@@: pop ebx |
ret |
endp |
|