File indexing completed on 2025-05-11 08:24:09
0001 # NEC V850 startup code
0002
0003 .section .text
0004 .global _start
0005
0006 _start:
0007
0008 #if defined(__v850e__) || defined(__v850e2__) || defined(__v850e2v3__)
0009
0010 movea 255, r0, r20
0011 mov 65535, r21
0012 mov hilo(__ISR_Stack_area_end), sp
0013 mov hilo(__ep), ep
0014 mov hilo(__gp), gp
0015 mov hilo(__ctbp), r6
0016 ldsr r6, ctbp
0017 mov hilo(_edata), r6
0018 mov hilo(_end), r7
0019 .L0:
0020 st.w r0, 0[r6]
0021 addi 4, r6, r6
0022 cmp r7, r6
0023 bl .L0
0024 .L1:
0025 jarl ___main, r31
0026 addi -16, sp, sp
0027 mov 0, r6
0028 mov 0, r7
0029 mov 0, r8
0030
0031 jarl _boot_card, r31
0032 mov r10, r6
0033 jarl _exit, r31
0034
0035 # else
0036 movea 255, r0, r20
0037 mov r0, r21
0038 ori 65535, r0, r21
0039 movhi hi(__ISR_Stack_area_end), r0, sp
0040 movea lo(__ISR_Stack_area_end), sp, sp
0041 movhi hi(__ep), r0, ep
0042 movea lo(__ep), ep, ep
0043 movhi hi(__gp), r0, gp
0044 movea lo(__gp), gp, gp
0045
0046 movhi hi(_edata), r0, r6
0047 movea lo(_edata), r6, r6
0048 movhi hi(_end), r0, r7
0049 movea lo(_end), r7, r7
0050 .L0:
0051 st.b r0, 0[r6]
0052 addi 1, r6, r6
0053 cmp r7, r6
0054 bl .L0
0055 .L1:
0056
0057 addi -16, sp, sp
0058 mov 0, r6
0059 mov 0, r7
0060 mov 0, r8
0061
0062 jarl _boot_card, r31
0063 mov r10, r6
0064 .L2:
0065 br .L2
0066
0067 # endif
0068
0069 .section .data
0070 .global ___dso_handle
0071 .weak ___dso_handle
0072 ___dso_handle:
0073 .long 0