| #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 */ |