From 5c5f931054cbd0b2342449decc27bdf989ed4cbc Mon Sep 17 00:00:00 2001 From: FReenen Date: Sun, 15 Sep 2024 15:56:50 +0200 Subject: [PATCH] finish assignment 5 --- .../{assignment3 => assignment5}/multiply.asm | 11 +++++------ assignment_assembly/assignment5/result.png | Bin 0 -> 40095 bytes assignment_assembly/readme.md | 12 ++++++++++++ 3 files changed, 17 insertions(+), 6 deletions(-) rename assignment_assembly/{assignment3 => assignment5}/multiply.asm (79%) create mode 100644 assignment_assembly/assignment5/result.png diff --git a/assignment_assembly/assignment3/multiply.asm b/assignment_assembly/assignment5/multiply.asm similarity index 79% rename from assignment_assembly/assignment3/multiply.asm rename to assignment_assembly/assignment5/multiply.asm index 0d34cc3..e52ac60 100644 --- a/assignment_assembly/assignment3/multiply.asm +++ b/assignment_assembly/assignment5/multiply.asm @@ -4,16 +4,15 @@ .globl multiply .text .thumb_func - // R0 = a, R1 = b, R2 = result (m) + // R0 = a, R1 = b, R2 = result (m), R3 = odd/even mask/result multiply: MOVS.N R2, #0 // set result to 0 -multiply2: CMP.N R1, #0 BEQ.N exit // goto exit if b == 0 - +multiply2: CMP.N R1, #1 BNE.N check_even // goto check_even if b == 1 - MOVS.N R2, R0 // move a to result + ADDS.N R2, R0 // move a to result B.N exit // goto exit check_even: MOVS.N R3, #1 // set R3 to 1 as bit mask @@ -21,12 +20,12 @@ check_even: BNE.N odd // goto exit if b == 0 even: LSLS.N R0, R0, #1 // a = a << 1 - LSRS.N R1, R1, #1 // b = b << 1 + LSRS.N R1, R1, #1 // b = b >> 1 B.N multiply2 // recurse odd: ADDS.N R2, R0 // add a to result LSLS.N R0, R0, #1 // a = a << 1 - LSRS.N R1, R1, #1 // b = b << 1 + LSRS.N R1, R1, #1 // b = b >> 1 B.N multiply2 // recurse exit: MOVS.N R0, R2 // move result to R0 diff --git a/assignment_assembly/assignment5/result.png b/assignment_assembly/assignment5/result.png new file mode 100644 index 0000000000000000000000000000000000000000..6e5e1ba4f81a8fb488db3e51a3c0bc04b0a3f86d GIT binary patch literal 40095 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 tB;Ek-dKDC`lrSp*a$V%wc&RD