From d8dd8f916b1e6ca9756a0643c7a0d4cd3461e92c Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Mon, 8 Jun 2020 19:55:38 +0200 Subject: feat: add exercise Count number of ones in a number --- I_anno/Architettura_Elaboratori/num_of_1s.asm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 I_anno/Architettura_Elaboratori/num_of_1s.asm (limited to 'I_anno') diff --git a/I_anno/Architettura_Elaboratori/num_of_1s.asm b/I_anno/Architettura_Elaboratori/num_of_1s.asm new file mode 100644 index 0000000..ffbd4f4 --- /dev/null +++ b/I_anno/Architettura_Elaboratori/num_of_1s.asm @@ -0,0 +1,20 @@ +num dcd 27 ; 0b11011 + + mov r0, #num + ldr r0, [r0] + mov r2, r0 + + mov r1, #32 + +loop + and r4, r2, #1 + cmp r4, #1 + bne itszero + add r3, r3, #1 +itszero + lsr r2, r2, #1 + sub r1, r1, #1 + cmp r1, #0 + bne loop + + end -- cgit v1.2.3-18-g5258