aboutsummaryrefslogtreecommitdiffstats
path: root/ARM_assembly/MultProject/Mult32x32.s
diff options
context:
space:
mode:
authorzedarider <ymherklotz@gmail.com>2016-02-26 21:40:24 +0000
committerzedarider <ymherklotz@gmail.com>2016-02-26 21:40:24 +0000
commit6d8f08b4727e5630e547d0afbf39c819a43945f6 (patch)
tree1f3fcb0185e339aa7cd7a14ece31c4fa474de9a1 /ARM_assembly/MultProject/Mult32x32.s
parent110c42733ff3decdb62bc4347626489a2677d99b (diff)
downloadimperial_2015-6d8f08b4727e5630e547d0afbf39c819a43945f6.tar.gz
imperial_2015-6d8f08b4727e5630e547d0afbf39c819a43945f6.zip
Adding ARM Assembly files
Diffstat (limited to 'ARM_assembly/MultProject/Mult32x32.s')
-rw-r--r--ARM_assembly/MultProject/Mult32x32.s23
1 files changed, 23 insertions, 0 deletions
diff --git a/ARM_assembly/MultProject/Mult32x32.s b/ARM_assembly/MultProject/Mult32x32.s
new file mode 100644
index 0000000..03a06ca
--- /dev/null
+++ b/ARM_assembly/MultProject/Mult32x32.s
@@ -0,0 +1,23 @@
+ ;INITIALISATION
+
+ MOV R0, #12
+ MOV R1, #4
+ MOV R2, R0
+ MOV R3, #0
+ MOV R5, #0
+ MOV R6, #32
+
+ ;CODE
+
+MULT AND R4, R2, #1 ;movs LSB
+
+ CMP R4, R5 ;Compares current and prev bit
+ ADDLO R3, R3, R1 ;adds if 0 1
+ SUBHI R3, R3, R1 ;sub if 1 0
+ MOV R5, R4
+
+ MOVS R3, R3, ASR #1
+ MOV R2, R2, RRX
+
+ SUBS R6, R6, #1
+ BNE MULT