mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
1.1 KiB
74 lines
1.1 KiB
/* SPDX-License-Identifier: GPL-2.0 */ |
|
#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 */
|
|
|