23 lines
		
	
	
	
		
			284 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
	
		
			284 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| .define exg
 | |
| .sect .text
 | |
| .sect .rom
 | |
| .sect .data
 | |
| .sect .bss
 | |
| .sect .text
 | |
| 
 | |
| !size (bytes) in R0
 | |
| exg:
 | |
| 	ldm	savereg, R4, $10
 | |
| 	ldl	RR2, RR14
 | |
| 	inc	R3, $2
 | |
| 	ldl	RR4, RR2
 | |
| 	add	R5, R0
 | |
| 	sra	R0
 | |
| 1:	ld	R1, *RR2
 | |
| 	ex	R1, *RR4
 | |
| 	ld	*RR4, R1
 | |
| 	inc	R3, $2
 | |
| 	inc	R5, $2
 | |
| 	djnz	R0, 1b
 | |
| 	ldm	R4, savereg, $10
 | |
| 	ret
 |