kvisc/ka/crt/str/strchr.k

27 lines
442 B
Plaintext

; The OS/K Team licenses this file to you under the MIT license.
; See the LICENSE file in the project root for more information.
;
; char *strchrnul(const char *str, int ch)
;
strchrnul:
mov rcx, STRLEN_MAX
scasb.rep.nz ax0, ax1
mov rax, ax0
ret
;
; char *strchr(const char *str, int ch)
;
strchr:
mov rcx, STRLEN_MAX
scasb.rep.nz ax0, ax1
cmp b[ax0], 0
xor.z rax, rax
ret.z
mov rax, ax0
ret