numQ				dcd		10
numM				dcd		3
				
				mov		r0,#numQ	;;q
				ldr		r0,[r0]
				mov		r1,#numM	;;m
				ldr		r1,[r1]
				mov		r2,#0	;;i
				mov		r4,r0     ;;aq
				mov		r3,#0	;;a
				
loop
				cmp		r2,#8
				beq		end_program
				LSL		r4,r4,#1
				lsr		r3,r4,#8
				and		r0,r4,#0xff
				sub		r3,r3,r1
				
				cmp		r3,#0
				blt		ripristinaA
				orr		r0,r0,#1
				b		shift_and_increment
				
				
ripristinaA
				add		r3,r3,r1
				and		r0,r0,#0xfe
shift_and_increment
				lsl		r4,r3,#8
				orr		r4,r4,r0
				add		r2,r2,#1
				b		loop
				
end_program
