From 97b27414a71eae072656e075086c59df35c2bb35 Mon Sep 17 00:00:00 2001 From: aadit Date: Thu, 21 Aug 2025 11:20:14 +0530 Subject: [PATCH] Add ES/Lab/LAB5/FACTORIAL.asm --- ES/Lab/LAB5/FACTORIAL.asm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 ES/Lab/LAB5/FACTORIAL.asm diff --git a/ES/Lab/LAB5/FACTORIAL.asm b/ES/Lab/LAB5/FACTORIAL.asm new file mode 100644 index 0000000..6bcbb2a --- /dev/null +++ b/ES/Lab/LAB5/FACTORIAL.asm @@ -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 \ No newline at end of file