GNU/Linux xterm-256color bash 141 views

.section .data
mensaje:    .asciz "Ingrese su nombre: "
saludo:     .asciz "Hola, "

.section .bss
.lcomm buffer, 50  // Reserva 50 bytes para el nombre

.section .text
.global _start

_start:
    // Mostrar mensaje "Ingrese su nombre: "
    mov x0, 1              // stdout (descriptor de archivo)
    ldr x1, =mensaje       // Dirección del mensaje
    mov x2, 19             // Longitud del mensaje
    mov x8, 64             // syscall: write
    svc 0                  // Llamada al sistema

    // Leer el nombre desde la entrada estándar
    mov x0, 0              // stdin (descriptor de archivo)
    ldr x1, =buffer        // Dirección del buffer
    mov x2, 50             // Máxima cantidad de bytes a leer
    mov x8, 63             // syscall: read
    svc 0                  // Llamada al sistema

    // Mostrar "Hola, "
    mov x0, 1              // stdout
    ldr x1, =saludo        // Dirección del saludo
    mov x2, 6              // Longitud del saludo
    mov x8, 64             // syscall: write
    svc 0                  // Llamada al sistema

    // Mostrar el nombre ingresado
    mov x0, 1              // stdout
    ldr x1, =buffer        // Dirección del buffer (nombre del usuario)
    mov x2, 50             // Asumimos que el usuario ingresa hasta 50 caracteres
    mov x8, 64             // syscall: write
    svc 0                  // Llamada al sistema

    // Salir del programa
    mov x8, 93             // syscall: exit
    mov x0, 0              // Código de salida 0
    svc 0                  // Llamada al sistema