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