GNU/Linux xterm-256color bash 169 views

**
Nombre: dec3.s
Autor: Karla Itzel Vázquez Cruz
Fecha: 08-04-2025
Descripción: Ciclo comenzado desde 20 con decremento de 3
Plataforma: Raspberry Pi OS 64-bit
Asciinema: dec3.s


Versión en C:

Versión en ARM64 RaspbianOS Linux:

.section .data
msg:        .ascii "Ciclo desde 30 restando de 3 en 3:\n"
len_msg = . - msg

newline:    .ascii "\n"

.section .bss
num_buffer: .skip 16

.section .text
.global _start

_start:
    // Imprimir mensaje
    ldr x0, =msg
    mov x1, #len_msg
    bl print_msg

    mov x20, #30       // Valor inicial
    mov x21, #0        // Contador de iteraciones

loop:
    cmp x21, #5        // ¿Ya hicimos 5 iteraciones?
    bge end_program

    mov x0, x20        // Pasar número a imprimir
    bl print_int

    sub x20, x20, #3   // Restar 3
    add x21, x21, #1   // i++
    b loop

end_program:
    // Salto de línea
    ldr x1, =newline
    mov x2, #1
    mov x0, #1
    mov x8, #64
    svc #0

    // Salida del programa
    mov x8, #93
    mov x0, #0
    svc #0

// ---------------- Funciones ----------------

print_msg:
    mov x2, x1
    mov x1, x0
    mov x0, #1
    mov x8, #64
    svc #0
    ret

print_int:
    ldr x1, =num_buffer
    add x1, x1, #15
    mov x2, #10
    mov x3, x0
    mov x4, x1

convert:
    udiv x5, x3, x2
    msub x6, x5, x2, x3
    add x6, x6, #'0'
    sub x1, x1, #1
    strb w6, [x1]
    mov x3, x5
    cbz x3, print_it
    b convert

print_it:
    sub x2, x4, x1
    mov x0, #1
    mov x8, #64
    mov x1, x1
    svc #0

    // Salto de línea
    ldr x1, =newline
    mov x2, #1
    mov x0, #1
    mov x8, #64
    svc #0
    ret

More recordings by Itzel

Browse all

BINARIO A DECIMAL 1:09

by Itzel

REVERSA DE UNA CADENA 8:22

by Itzel

KELVIN A CELSIOUS 1:54

by Itzel

KELVIN A FAHRENHEIT 1:43

by Itzel