.


jmp short @3
@2:
inc dword ptr [ebp-4]
@3:
mov edx,dword ptr [ebp+8]
mov ecx,dword ptr [edx]
mov eax,dword ptr [ebp-4]
cmp byte ptr [ecx+eax],0
jne short @2
?debug L 7
mov eax,dword ptr [ebp-4]
?debug L 8
@6:
@5:
pop ecx
pop ebp
ret
?debug L 0
@@STRING@len$qv endp

. , , . .
, , .. ( ). :
mov edx,dword ptr [ebp+8]
mov ecx,dword ptr [edx]; &s
!
. , ++.

#include "mystr.h"
int STRING::len(){
asm {
mov eax, -1
mov ecx, [ebp+8]
mov ecx, [ecx]
for1:
inc eax
cmp byte ptr [ecx+eax], 0
jne for1
}
}
!