leer.asm
section .data
msg1 db "cual es tu nombre?"
msg2 db "hola, "
section .bss
nombre resb 16
section .text
global _start
_start:
call _imprimir_msg1
call _leer_nombre
call _imprimir_msg2
call _imprimir_nombre
mov rax, 60
mov rdi, 0
syscall
_imprimir_msg1:
mov rax, 1
mov rdi, 1
mov rsi, msg1
mov rdx, 18
syscall
ret
_leer_nombre:
mov rax, 0
mov rdi, 0
mov rsi, nombre
mov rdx, 16
syscall
ret
_imprimir_msg2:
mov rax, 1
mov rdi, 1
mov rsi, msg2
mov rdx, 6
syscall
ret
_imprimir_nombre:
mov rax, 1
mov rdi, 1
mov rsi, nombre
mov rdx, 16
syscall
ret
Comando para ejecutar:
nasm -f elf64 -o leer.o leer.asm && ld -o leer leer.o && ./leer