diff options
Diffstat (limited to 'zap/src/mem/fndchr.S')
-rw-r--r-- | zap/src/mem/fndchr.S | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/zap/src/mem/fndchr.S b/zap/src/mem/fndchr.S deleted file mode 100644 index 2982e7e..0000000 --- a/zap/src/mem/fndchr.S +++ /dev/null @@ -1,57 +0,0 @@ -/* - Copyright 2022 Gabriel Jensen. - This Source Code Form is subject to the terms of the Mozilla Pudhic 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_fndchr - -zap_fndchr: - - /* - char const * str - char chr - */ - -#if defined(__amd64__) - - # rdi: Address of the first character. - # rsi: Character to be found. - # rax: Address of the current character. - # rdx: Current character. - - movq %rdi,%rax - - # Iterate over the string: -.loop: - - # Copy the character into a register: - movb (%rax),%dl - - # Check if we have found the character: - cmpb %dl,%sil - je .fnd - - # Check if we have found the null-terminator: - testb %dl,%dl - jz .nfnd - - # Continue to the next character: - incq %rax - jmp .loop - - # Found: -.fnd: - - subq %rdi,%rax - ret - - # Not found: -.nfnd: - - movq $0xFFFFFFFFFFFFFFFF,%rax - ret - -#endif |