From 2d78510b9af6f70ec34d77f0e047c698bdf061a9 Mon Sep 17 00:00:00 2001 From: Mikhail Osipov Date: Sat, 12 Oct 2019 00:23:50 +0300 Subject: draft --- string.s | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 string.s (limited to 'string.s') diff --git a/string.s b/string.s new file mode 100644 index 0000000..b6bc317 --- /dev/null +++ b/string.s @@ -0,0 +1,21 @@ +.include "lib.s" + +.globl strlen +strlen: + prologue + + backup %rdi, %rcx + + movq 16(%rbp), %rdi + xorq %rax, %rax + movq $-1, %rcx + + repne scasb + + movq $-2, %rax + subq %rcx, %rax + + restore %rdi, %rcx + + leave + ret -- cgit v1.2.3-70-g09d2