section .data
resp db "El texto ingresado es:", 0
resp_len equ $ - resp
section .bss
buffer resb 100
section .text
global _start
_start:
;Aqui se inicia la lectura de lo que ingresa el usuario
mov rax, 0 ;Indicamos a travez del 0 en el registro rax que vamos a usar una llamada de sistema 'sys_read'
mov rdi, 0
;Especificamos con el 0 en rdi el metodo de entrada (teclado)
mov rsi, buffer
;Recibimos la direccion de memoria de nuestro buffer
mov rdx, 100
;Definimos el limite de bytes que vamos a leer
syscall
;Despues de hacer la llamada el registro rax va a almacenar los bytes reales que escribio el usuario
mov r8, rax
;Termina la leectura de los datos ingresados por el usuario
;Impresion del mensaje "El texto ingresado es:"
mov rax, 1
mov rdi, 1
mov rsi, resp
mov rdx, resp_len
syscall
;Impresion del texto ingresado
mov rax, 1
mov rdi, 1
mov rsi, buffer
;Apesar que despues de la ejecucion rax tenia el valor del usuario, antes de eso el buffer tambien habia guardado lo que ingreso el usuario
mov rdx, r8
;usamos un registro especial del buffer donde nos pasa la longitud real usada, ya que se reservo 100 bytes a este buffer y r8 nos da lo que realmente ocupo
syscall
;termino el programa
mov rax, 60
mov rdi, 0
syscall
To embed this project on your website, copy the following code and paste it into your website's HTML: