.text
.arm
.global _start
_start:
        b reset
        b loop
        b loop
        b loop
        b loop
        nop
        b loop
        b loop

/* ==============================
*  TEST CODE
*  ==============================
*/
reset:
        mov sp,#ENDSTACK
        mov r0,#5
        
        bl factorial

@ parametro en r0,devuelve en r0
factorial:
        push {r1,lr} 
        mov r1,r0
        sub r0,r0,#1
        cmp r0,#1
        blne factorial
        mul r0,r1,r0
        pop {r1,lr}
        mov pc,lr

loop:   b loop

/* ==============================
*  CONTANTES
*  ==============================
*/
STACK:  .skip 256

ENDSTACK:

        .end

