GNU/Linux xterm-256color bash 229 views

**
Nombre: n.s
Autor: Karla Itzel Vázquez Cruz
Fecha: 07-04-2025
Descripción: Pide al usuario una palabra y cuántas veces repetirla
Asciinema: https://asciinema.org/a/712745
**

Código en ARM64 RaspbianOS Linux:

.section .bss
buffer_palabra: .skip 64       // Buffer para la palabra del usuario
buffer_repeticiones: .skip 16  // Buffer para cantidad de repeticiones

.section .data
mensaje_palabra: .asciz "Palabra a Repetir (máx 64):       "
mensaje_veces: .asciz "¿Cuántas veces quieres repetirla?: "
salto: .asciz "\n"

.section .text
.global _start
_start:
    // Mostrar mensaje de palabra
    mov x0, #1
    ldr x1, =mensaje_palabra
    mov x2, #36
    mov x8, #64
    svc #0

    // Leer palabra
    mov x0, #0
    ldr x1, =buffer_palabra
    mov x2, #64
    mov x8, #63
    svc #0

    // Mostrar mensaje de repeticiones
    mov x0, #1
    ldr x1, =mensaje_veces
    mov x2, #36
    mov x8, #64
    svc #0

    // Leer repeticiones
    mov x0, #0
    ldr x1, =buffer_repeticiones
    mov x2, #16
    mov x8, #63
    svc #0

    // Convertir buffer_repeticiones a número
    ldr x0, =buffer_repeticiones
    bl string_to_int
    mov x3, x0          // x3 = repeticiones
repetir_loop:
    cmp x3, #0
    beq salir

    // Imprimir la palabra
    mov x0, #1
    ldr x1, =buffer_palabra
    mov x2, #64         // imprimimos hasta 64, aunque venga un salto después
    mov x8, #64
    svc #0

    sub x3, x3, #1
    b repetir_loop

salir:
    // Salir del programa
    mov x0, #0
    mov x8, #93
    svc #0

// Función: string_to_int
// Entrada: x0 = dirección de cadena ASCII con número
// Salida: x0 = valor numérico
string_to_int:
 mov x1, #0          // resultado acumulado
    mov x2, #10         // base 10

loop_s2i:
    ldrb w3, [x0], #1   // leer siguiente carácter
    cmp w3, #10         // ¿Es salto de línea?
    beq fin_s2i
    cmp w3, #0
    beq fin_s2i
    sub w3, w3, #48     // convertir ASCII a dígito
    mul x1, x1, x2
    add x1, x1, x3
    b loop_s2i

fin_s2i:
    mov x0, x1
    ret

More recordings by Itzel

Browse all

ROMANO 1:43

by Itzel

MINISCULA A MAYUSCULAS 0:44

by Itzel

OCTAL A BINARIO 1:06

by Itzel

MAYUSCULAS A MINISCULAS 1:02

by Itzel