tmc/asm/src/crt0.s

50 lines
780 B
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
arm_func_start __start
__start:
b start_vector
header:
.include "asm/rom_header.inc"
start_vector:
mov r0, #0x12
msr cpsr_fc, r0
ldr sp, sp_irq
mov r0, #0x1f
msr cpsr_fc, r0
ldr sp, sp_usr
ldr r1, INTR_VECTOR_BUF
ldr r0, intr_main
str r0, [r1]
.ifdef EU
ldr r1, unk_function
mov lr, pc
bx r1
.else
.ifdef DEMO_JP
ldr r1, unk_function
mov lr, pc
bx r1
.endif
.endif
ldr r1, =AgbMain
mov lr, pc
bx r1
_080000F0:
b start_vector
sp_irq: .4byte irq_stack_begin
sp_usr: .4byte usr_stack_begin
INTR_VECTOR_BUF: .4byte 0x03007FFC
intr_main: .4byte ram_IntrMain
.ifdef EU
unk_function: .4byte fill_rq_stack
.else
.ifdef DEMO_JP
unk_function: .4byte fill_rq_stack
.endif
.endif