mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-10-30 22:18:21 +00:00
53 lines
614 B
NASM
53 lines
614 B
NASM
section .text:
|
|
|
|
global arch_u_strlen
|
|
global arch_u_strlen_cont
|
|
|
|
arch_u_strlen:
|
|
xor rcx, rcx
|
|
.loop:
|
|
cmp byte [rdi],0
|
|
je .done
|
|
inc rcx
|
|
inc rdi
|
|
jmp .loop
|
|
.done:
|
|
mov [rsi], rcx
|
|
xor rax, rax
|
|
ret
|
|
arch_u_strlen_cont:
|
|
mov rax, 1
|
|
ret
|
|
|
|
global arch_u_memcpy
|
|
global arch_u_memcpy_cont
|
|
|
|
arch_u_memcpy:
|
|
mov rcx, rdx
|
|
rep movsb
|
|
xor rax, rax
|
|
ret
|
|
arch_u_memcpy_cont:
|
|
mov rax, 1
|
|
ret
|
|
|
|
global arch_u_strcpy
|
|
global arch_u_strcpy_cont
|
|
|
|
arch_u_strcpy:
|
|
.loop:
|
|
mov al, [rsi]
|
|
mov [rdi], al
|
|
inc rsi
|
|
inc rdi
|
|
test al,al
|
|
jz .done
|
|
jmp .loop
|
|
.done:
|
|
xor rax,rax
|
|
ret
|
|
arch_u_strcpy_cont:
|
|
mov rax, 1
|
|
ret
|
|
|