int strlen2(const char * str) { if (str == NULL) { return 0; } __asm { mov ebx , str } while(*str++ != '\0'); __asm { mov eax , str sub eax, ebx mov str, eax } return (int)str - 1; }