76 lines
1.3 KiB
C
76 lines
1.3 KiB
C
|
/* kfr2r09 board specific boot code:
|
||
|
* converts the "partner-jet-script.txt" script into assembly
|
||
|
* the assembly code is the first code to be executed in the romImage
|
||
|
*/
|
||
|
|
||
|
/* 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
|
||
|
|
||
|
#include "partner-jet-setup.txt"
|