diff options
Diffstat (limited to 'zap/src/mem/strlen.S')
-rw-r--r-- | zap/src/mem/strlen.S | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/zap/src/mem/strlen.S b/zap/src/mem/strlen.S deleted file mode 100644 index 4cb435f..0000000 --- a/zap/src/mem/strlen.S +++ /dev/null @@ -1,46 +0,0 @@ -/* - Copyright 2022 Gabriel Jensen. - This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. - If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. -*/ - -#include <zap/priv.h> - -.globl zap_strlen - -zap_strlen: - - /* - char const * str - */ - -#if defined(__amd64__) - - # rax: Address of the current character. - # rdx: Current character. - - movq %rdi,%rax - - # Iterate over the string: -.loop: - - # Move the character into a register: - movb (%rax),%dl - - # Check if we have reached the null-terminator: - testb %dl,%dl - jz .done # If so, we are done. - - # Continue to the next character: - incq %rax - jmp .loop - - # Done: -.done: - - # Get the length: - subq %rdi,%rax - - ret - -#endif |