CHAPTER 4 PROGRAM LIST
Application Note U17209EJ1V0AN
148
#-----------------------------------------------------------------------------
.set STACKSIZE, 0x400
.bss
.lcomm _ _stack, STACKSIZE, 4
#-----------------------------------------------------------------------------
# start up
# pointers: tp - text pointer
# gp - global pointer
# sp - stack pointer
# ep - element pointer
# exit status is set to r10
#-----------------------------------------------------------------------------
.text
.align 4
.globl _ _start
.globl _exit
.globl _ _exit
_ _start:
mov 13,r10 -- 500 kHz to 64 MHz
st.b r10,VSWC[r0] -- Set peripheral I/O wait
mov 0x03,r10 -- PLL
st.b r10,PLLCTL[r0]
mov 0x00,r10
st.b r10,PRCMD[r0]
st.b r10,PCC[r0]
nop
nop
nop
nop
nop
mov #_ _tp_TEXT, tp -- set tp register
mov #_ _gp_DATA, gp -- set gp register offset
add tp, gp -- set gp register
mov #_ _stack+STACKSIZE, sp -- set sp register
mov #_ _ep_DATA, ep -- set ep register
#
mov #_ _ssbss, r13 -- clear sbss section
mov #_ _esbss, r12
cmp r12, r13
jnl .L11
.L12:
st.w r0, [r13]
add 4, r13
cmp r12, r13