scasb strlen

This commit is contained in:
Kimapr 2024-04-04 09:22:41 +05:00
parent c2c4447632
commit d796077e7c

12
meow.s
View file

@ -22,7 +22,6 @@ endif:
usage: usage:
lea help0(%rip),%rdi lea help0(%rip),%rdi
mov $help0l,%rsi mov $help0l,%rsi
call write call write
mov [argv],%rdi mov [argv],%rdi
@ -41,14 +40,11 @@ usage:
# rdi - buf # rdi - buf
# -> rax - len # -> rax - len
strlen: strlen:
mov %rdi,%rsi
xor %rax,%rax
repne scasb
sub %rsi,%rdi
mov %rdi,%rax mov %rdi,%rax
strlen_loop:
movb 0(%rax),%sil
inc %rax
test %sil,%sil
jnz strlen_loop
sub $1,%rax
sub %rdi,%rax
ret ret
# rdi - buf # rdi - buf