summaryrefslogtreecommitdiff
path: root/Year_1/Computer_Architecture/subsequence_less_than_5.asm
blob: 3c266d51618a51d0ad2e1f1d4d0ab142e625e3b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
arr_n		dcd		6
array		dcd		3, 6, 7, 2, 9, 0
s_arr		dcd		1
			
			mov		r0, #arr_n
			ldr		r0, [r0]
			mov		r1, r0
			
			mov		r2, #s_arr
			mov		r1, #array
			mov		r4, #0		; number of elements on new sequence
			
loop
			cmp		r0, #0
			beq		end_program
			ldr		r3, [r1], #4
			cmp		r3, #5		; number to compare
			blt		data_store
subn_loop
			sub		r0, r0, #1
			b		loop
			
data_store
			str		r3, [r2], #4
			add		r4, r4, #1
			b		subn_loop
			
end_program
			str		r4, [r2]
			end