summaryrefslogtreecommitdiff
path: root/I_anno/Architettura_Elaboratori/sum_n_nums.asm
blob: 0efcedc800e0e699c933680e94391213488801b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
arr_1	dcd		3, 2, 1, 5
a_len	dcd		4
		
		mov		r0, #a_len
		ldr		r1, [r0] ; valore N, grandezza array
		
		mov		r0, #arr_1 ; puntatore dell'array
		ldr		r2, [r0] ; primo valore dell'array
		mov		r3, #0
		
loop
		cmp		r1, #0
		beq		loop_end
		
		add		r3, r3, r2
		add		r0, r0, #4 ; incrementa di un byte il puntatore dell'array
		ldr		r2, [r0]
		
		sub		r1, r1, #1
		b		loop
		
loop_end
		end