Me he visto en la necesidad de diseñar una rutina strlen() lo más pequeña posible... He acabado con esto...
15bytes:
(No cumple el Intel ABI, pero puedo asumir que EDI se modifique y así me ahorro 2bytes)
¿Alguien ve la forma de recortarlo más?
15bytes:
Código (asm) [Seleccionar]
strlen:
pop edx
pop edi
push -1
pop ecx
xor eax, eax
repne scasb
not ecx
mov eax, ecx
jmp edx
(No cumple el Intel ABI, pero puedo asumir que EDI se modifique y así me ahorro 2bytes)
¿Alguien ve la forma de recortarlo más?