@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ We store an 8-digit hexadecimal number on r0, 
@ and then we print that number in hexadecimal.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

.globl _start
_start:
	ldr r4,=0x101f1000	
	@ ASCII codes stored 
	@ at [r4] get printed

	@ set r0 := 0x12ad730f	
	mov r0, #0x12
	lsl r0, r0, #8
	add r0, r0, #0xad
	lsl r0, r0, #8
	add r0, r0, #0x73
	lsl r0, r0, #8
	add r0, r0, #0x0f

	mov r2, #28
	
my_loop:	
	cmp r2, #0
	blt my_exit

	lsr r1, r0, r2
	and r1, r1, #0x0000000f
	cmp r1, #10
	addlt r1, r1, #48
	addge r1, r1, #55
	str r1, [r4]

	sub r2, r2, #4
	b my_loop
	
my_exit: 			@ print "END" on a new line
	mov r1, #'\r'
	str r1, [r4]		
	mov r1, #'\n'		
	str r1, [r4]		
	mov r1, #'E'		
	str r1, [r4]		
	mov r1, #'N'		
	str r1, [r4]		
	mov r1, #'D'		
	str r1, [r4]

the_end:			@ do infinite loop at the end
	b the_end	

