23 lines
		
	
	
		
			346 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			346 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| begin:
 | |
|   set r1, 128  // address of the LED
 | |
|   set r2, 0
 | |
|   set r3, 1
 | |
|   set r4, 255  // outer counter limit
 | |
| 
 | |
| loop:
 | |
|   store r2, [r1]
 | |
|   add r2, r2, r3
 | |
|   set r13, loop
 | |
| 
 | |
| delay:
 | |
|   set r10, 0
 | |
|   set r11, 0
 | |
| 
 | |
| delay_loop:
 | |
|   add r10, r10, r3
 | |
|   bneq delay_loop  // flag will be 1 when it wraps
 | |
|   add r11, r11, r3
 | |
|   cmp r11, r4
 | |
|   bneq delay_loop
 | |
|   set pc, loop
 |