GNU/Linux xterm-256color bash 179 views

**
Nombre: cuadra.s
Autor: Karla Itzel Vázquez Cruz
Fecha: 10-04-2025
Descripción: Area del Cuadrado
Plataforma: Raspberry Pi OS 64-bit
Asciinema: cuadra.s


Versión en C:

int area_cuadrado(int lado) {
    return lado * lado;
}

Versión en ARM64 RaspbianOS Linux:

.section .data
numero:   .quad 2           // Número a elevar al cuadrado
buffer:   .skip 32           // Buffer para imprimir resultado

.section .text
.global _start

_start:
    // Leer número
    ldr x0, =numero
    ldr x1, [x0]             // x1 = n

    // Calcular n * n
    mul x2, x1, x1           // x2 = n * n

    // Convertir a texto
    mov x3, x2               // valor a imprimir
    ldr x4, =buffer
    bl int_to_ascii          // devuelve puntero final en x5

    // Agregar newline
    mov w6, '\n'
    strb w6, [x5]

    // Escribir resultado
    mov x8, 64               // syscall write
    mov x0, 1                // stdout
    ldr x1, =buffer
    sub x2, x5, x1
    add x2, x2, 1            // +1 por \n
    svc 0

    // exit(0)
    mov x8, 93
    mov x0, 0
    svc 0

// --------------------------------------------------------
// Convierte entero en x3 a ASCII y lo escribe en x4 (buffer)
// Devuelve x5 apuntando justo después del número
// --------------------------------------------------------
int_to_ascii:
    mov x5, 10               // divisor base
    mov x6, x3               // copia del número
    mov x7, x4               // inicio buffer

    // Contar dígitos
    mov x9, 0
    mov x10, x6
count_digits:
    udiv x10, x10, x5
    add x9, x9, 1
    cmp x10, 0
    b.ne count_digits

    mov x10, x6
    add x7, x7, x9
    mov x5, x7               // x5 = puntero final

convert_loop:
    udiv x8, x10, x5
    msub x12, x8, x5, x10    // x12 = x10 % 10
    add x12, x12, '0'
    sub x7, x7, 1
    strb w12, [x7]
    mov x10, x8
    cmp x10, 0
    b.ne convert_loop
    ret

More recordings by Itzel

Browse all

REVERSA DE UNA CADENA 8:22

by Itzel

DECIMAL A HEXADECIMAL 1:38

by Itzel

SUMA 2 NUMEROS 4:50

by Itzel

CUAL ES EL MENOR? 2:20

by Itzel