74 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			74 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
|   | #ifndef __ROMIMAGE_MACRO_H
 | ||
|  | #define __ROMIMAGE_MACRO_H
 | ||
|  | 
 | ||
|  | /* The LIST command is used to include comments in the script */ | ||
|  | .macro	LIST comment | ||
|  | .endm | ||
|  | 
 | ||
|  | /* The ED command is used to write a 32-bit word */ | ||
|  | .macro  ED, addr, data | ||
|  | 	mov.l 1f, r1 | ||
|  | 	mov.l 2f, r0 | ||
|  | 	mov.l r0, @r1 | ||
|  | 	bra 3f | ||
|  | 	 nop | ||
|  | 	.align 2 | ||
|  | 1 :	.long \addr | ||
|  | 2 :	.long \data | ||
|  | 3 : | ||
|  | .endm | ||
|  | 
 | ||
|  | /* The EW command is used to write a 16-bit word */ | ||
|  | .macro  EW, addr, data | ||
|  | 	mov.l 1f, r1 | ||
|  | 	mov.l 2f, r0 | ||
|  | 	mov.w r0, @r1 | ||
|  | 	bra 3f | ||
|  | 	 nop | ||
|  | 	.align 2 | ||
|  | 1 :	.long \addr | ||
|  | 2 :	.long \data | ||
|  | 3 : | ||
|  | .endm | ||
|  | 
 | ||
|  | /* The EB command is used to write an 8-bit word */ | ||
|  | .macro  EB, addr, data | ||
|  | 	mov.l 1f, r1 | ||
|  | 	mov.l 2f, r0 | ||
|  | 	mov.b r0, @r1 | ||
|  | 	bra 3f | ||
|  | 	 nop | ||
|  | 	.align 2 | ||
|  | 1 :	.long \addr | ||
|  | 2 :	.long \data | ||
|  | 3 : | ||
|  | .endm | ||
|  | 
 | ||
|  | /* The WAIT command is used to delay the execution */ | ||
|  | .macro  WAIT, time | ||
|  | 	mov.l  2f, r3 | ||
|  | 1 : | ||
|  | 	nop | ||
|  | 	tst     r3, r3 | ||
|  | 	bf/s    1b | ||
|  | 	dt      r3 | ||
|  | 	bra	3f | ||
|  | 	 nop | ||
|  | 	.align 2 | ||
|  | 2 :	.long \time * 100 | ||
|  | 3 : | ||
|  | .endm | ||
|  | 
 | ||
|  | /* The DD command is used to read a 32-bit word */ | ||
|  | .macro  DD, addr, addr2, nr | ||
|  | 	mov.l 1f, r1 | ||
|  | 	mov.l @r1, r0 | ||
|  | 	bra 2f | ||
|  | 	 nop | ||
|  | 	.align 2 | ||
|  | 1 :	.long \addr | ||
|  | 2 : | ||
|  | .endm | ||
|  | 
 | ||
|  | #endif /* __ROMIMAGE_MACRO_H */
 |