From 0afb3ab4bd7f512a7f6759f26e0ecac00c5c0a2d Mon Sep 17 00:00:00 2001 From: aadit Date: Thu, 14 Aug 2025 12:01:14 +0530 Subject: [PATCH] Add ES/Lab/LAB4/HEXtoBCD2.asm --- ES/Lab/LAB4/HEXtoBCD2.asm | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 ES/Lab/LAB4/HEXtoBCD2.asm diff --git a/ES/Lab/LAB4/HEXtoBCD2.asm b/ES/Lab/LAB4/HEXtoBCD2.asm new file mode 100644 index 0000000..10ab8e1 --- /dev/null +++ b/ES/Lab/LAB4/HEXtoBCD2.asm @@ -0,0 +1,43 @@ + AREA RESET, DATA, READONLY + EXPORT __Vectors +__Vectors + DCD 0x10001000 + DCD Reset_Handler + ALIGN + + AREA MYCODE, CODE, READONLY + ENTRY + EXPORT Reset_Handler + +Reset_Handler + LDR R0, =SRR + LDR R1, [R0] + MOV R4, #0 + MOV R11, #1 + MOV R10, #3 + +LOOP + MOV R2, R1 + MOV R3, #0 + +DIV_LOOP + CMP R2, #10 + BLT DIV_DONE + SUB R2, R2, #10 + ADD R3, R3, #1 + B DIV_LOOP + +DIV_DONE + MUL R8, R2, R11 + ADD R4, R4, R8 + LSL R11, R11, #4 + MOV R1, R3 + SUBS R10, R10, #1 + BNE LOOP + +STOP + B STOP + +SRR DCD 0x45 + + END \ No newline at end of file