Add ES/Lab/LAB5/FACTORIAL.asm

This commit is contained in:
aadit 2025-08-21 11:20:14 +05:30
parent c64fe39549
commit 97b27414a7

37
ES/Lab/LAB5/FACTORIAL.asm Normal file
View file

@ -0,0 +1,37 @@
AREA RESET, DATA, READONLY
EXPORT __Vectors
__Vectors
DCD 0x10001000
DCD Reset_Handler
ALIGN
AREA MYCODE, CODE, READONLY
ENTRY
EXPORT Reset_Handler
Reset_Handler
LDR R1, =5
BL fact
LDR R12, =0x10001000
STR R0, [R12]
STOP
B STOP
fact
CMP R1, #1
BLE base_case
PUSH{R1, LR}
SUB R1, R1, #1
BL fact
POP{R2, LR}
MUL R0, R0, R2
BX LR
base_case
MOV R0, #1
BX LR
END