diff options
Diffstat (limited to 'I_anno/Architettura_Elaboratori')
-rw-r--r-- | I_anno/Architettura_Elaboratori/num_of_1s.asm | 20 |
1 files changed, 20 insertions, 0 deletions
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 |