Files
klibc/console.asm

47 lines
512 B
NASM

extern strlen
section .rodata
NL db 10
section .text
global print
global puts
;----- print (char* string) -----;
; return value: N/A
print:
push rbp
mov rbp, rsp
push rdi
sub rsp, 8
call strlen
mov rdx, rax
add rsp, 8
pop rdi
mov rax, 1
mov rsi, rdi
mov rdi, 1
syscall
leave
ret
;----- puts (char* string) -----;
; return value: N/A
puts:
push rbp
mov rbp, rsp
push rdi
sub rsp, 8
call print
add rsp, 8
pop rdi
mov rax, 1
mov rdi, 1
mov rsi, NL
mov rdx, 1
syscall
leave
ret