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