Files
libasm/srcs/ft_write.s

21 lines
354 B
ArmAsm

global ft_write
extern __errno_location
section .text
ft_write:
mov rax, 1 ;syscall number for write, args are already set at the right place
syscall
cmp rax, 0 ; if return is < 0, it's an error in negative
jge success
neg rax ; inv errno, and set errno
mov edi, eax
call __errno_location wrt ..plt
mov [rax], edi
mov rax, -1
success:
ret