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 través 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 método de entrada (Teclado)
mov rsi, buffer
;Recibimos la dirección de momoria de nuestro buffer
mov rdx, 100
;Definimos el límite de bytes qué vamos a leer
syscall
;Después de hacer la llamada el registro rax va a almacenar los bytes reales que escribió el usuario
mov r8, rax
;Termina la lectura de los datos ingresados por el usuario
;Impresion del mensaje "El texto ingresado es: "
mov rax, 1 ;Escritura
mov rdi, 1 ;Salida
mov rsi, resp
mov rdx, resp_len
syscall
;Impresion del texto ingresado
mov rax, 1
mov rdi, 1
mov rsi, buffer
;Apelar que después de la ejecución rax tenia el valor del usuario, ates de eso el buffer también había 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 bufer y r8 nos da lo que realmente ocupo
syscall
;Termino del 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: