27 lines
458 B
ArmAsm
27 lines
458 B
ArmAsm
.intel_syntax noprefix
|
|
|
|
.text
|
|
.globl nub_memcpy
|
|
# func nub_memcpy(destination: ^u8, source: ^u8, count: u64): ^u8
|
|
nub_memcpy:
|
|
mov rcx, rdx
|
|
rep movsb
|
|
|
|
.text
|
|
.globl nub_memset
|
|
# func nub_memset(destination: ^u8, value: i8, count: u64): ^u8
|
|
nub_memset:
|
|
push rdi
|
|
mov rcx, rdx
|
|
mov al, sil
|
|
test rcx, rcx
|
|
jz memset_done
|
|
memset_loop:
|
|
mov BYTE PTR [rdi], al
|
|
inc rdi
|
|
dec rcx
|
|
jnz memset_loop
|
|
memset_done:
|
|
pop rax
|
|
ret
|