Line 17... |
Line 17... |
# # 0x1C # nop - Reserved for breakpoint vector
|
# # 0x1C # nop - Reserved for breakpoint vector
|
# # 0x20 # Imm instr for hw exception address [Hi halfword]
|
# # 0x20 # Imm instr for hw exception address [Hi halfword]
|
# # 0x24 # Jump instr to hw exception handler [Lo halfword]
|
# # 0x24 # Jump instr to hw exception handler [Lo halfword]
|
|
|
.globl _start
|
.globl _start
|
|
|
.align 2
|
.align 2
|
.ent _start
|
.ent _start
|
_start:
|
_start: brai _start1
|
bri _start1 # 0x00 # reset vector
|
_vector_sw_exception: brai _exception_handler
|
nop # 0x04
|
_vector_interrupt: brai _interrupt_handler
|
nop # 0x08 # Reserve space for software exception vector
|
_vector_breakpoint: brai _breakpoint_handler
|
nop # 0x0c
|
_vector_hw_exception: brai _hw_exception_handler
|
nop # 0x10 # Reserve space for interrupt vector
|
|
nop # 0x14
|
/* ------ crt starts here --------- */
|
nop # 0x18 # Reserve space for breakpoint vector
|
|
nop # 0x1c
|
|
nop # 0x18 # Reserve space for hw exception vector
|
|
nop # 0x1c
|
|
|
|
_start1: /* Set the Small Data Anchors and the Stack pointer */
|
_start1: /* Set the Small Data Anchors and the Stack pointer */
|
la r13, r0, _SDA_BASE_
|
la r13, r0, _SDA_BASE_
|
la r2, r0, _SDA2_BASE_
|
la r2, r0, _SDA2_BASE_
|
la r1, r0, _STACK_START # stack is at end of block-ram
|
la r1, r0, _STACK_START # stack is at end of block-ram
|
Line 63... |
Line 58... |
|
|
brlid r15,main # enter main program (ignoring parameters: r5, r6 & r7)
|
brlid r15,main # enter main program (ignoring parameters: r5, r6 & r7)
|
nop # fall throught to exit
|
nop # fall throught to exit
|
.end _start
|
.end _start
|
|
|
|
_exception_handler:
|
|
_interrupt_handler:
|
|
_breakpoint_handler:
|
|
_hw_exception_handler:
|
|
|
.globl exit # exit library call
|
.globl exit # exit library call
|
.ent exit
|
.ent exit
|
exit:
|
exit:
|
bri exit
|
bri _start1
|
.end exit
|
.end exit
|
|
|
No newline at end of file
|
No newline at end of file
|