.global __main .weak __main .global __e_rom .weak __e_rom .global __s_ram_data_1 .weak __s_ram_data_1 .global __e_ram_data_1 .weak __e_ram_data_1 .global __s_ram_bss_1 .weak __s_ram_bss_1 .global __e_ram_bss_1 .weak __e_ram_bss_1 .global __s_ram_data_2 .weak __s_ram_data_2 .global __e_ram_data_2 .weak __e_ram_data_2 .global __s_ram_bss_2 .weak __s_ram_bss_2 .global __e_ram_bss_2 .weak __e_ram_bss_2 .global __s_ram_data_3 .weak __s_ram_data_3 .global __e_ram_data_3 .weak __e_ram_data_3 .global __s_ram_bss_3 .weak __s_ram_bss_3 .global __e_ram_bss_3 .weak __e_ram_bss_3 .global __s_ram_data_4 .weak __s_ram_data_4 .global __e_ram_data_4 .weak __e_ram_data_4 .global __s_ram_bss_4 .weak __s_ram_bss_4 .global __e_ram_bss_4 .weak __e_ram_bss_4 .global __s_ram_data_5 .weak __s_ram_data_5 .global __e_ram_data_5 .weak __e_ram_data_5 .global __s_ram_bss_5 .weak __s_ram_bss_5 .global __e_ram_bss_5 .weak __e_ram_bss_5 .global __ChipInitHandler .weak __ChipInitHandler .text .align 3 __bss_initialization: subu a2, a3 lsri a2, 2 cmpnei a2, 0 bf 2f movi a1, 0 1: stw a1, (a3) addi a3, 4 subi a2, 1 cmpnei a2, 0 bt 1b 2: jmp r15 __rom_decompression: cmphs a1, a2 bt 4f 3: ld.w a3, (a0, 0) st.w a3, (a1, 0) addi a0, 4 addi a1, 4 cmphs a1, a2 bf 3b 4: jmp r15 __main: mov r6, r15 lrw a3, __s_ram_bss_1 lrw a2, __e_ram_bss_1 bsr __bss_initialization lrw a3, __s_ram_bss_2 lrw a2, __e_ram_bss_2 bsr __bss_initialization lrw a3, __s_ram_bss_3 lrw a2, __e_ram_bss_3 bsr __bss_initialization lrw a3, __s_ram_bss_4 lrw a2, __e_ram_bss_4 bsr __bss_initialization lrw a3, __s_ram_bss_5 lrw a2, __e_ram_bss_5 bsr __bss_initialization lrw a0, __e_rom lrw a1, __s_ram_data_1 lrw a2, __e_ram_data_1 bsr __rom_decompression lrw a1, __s_ram_data_2 lrw a2, __e_ram_data_2 bsr __rom_decompression lrw a1, __s_ram_data_3 lrw a2, __e_ram_data_3 bsr __rom_decompression lrw a1, __s_ram_data_4 lrw a2, __e_ram_data_4 bsr __rom_decompression lrw a1, __s_ram_data_5 lrw a2, __e_ram_data_5 bsr __rom_decompression #ifdef __CSKYABIV2__ subi sp, 4 stw r6, (sp, 0) lrw a0, __ChipInitHandler cmpnei a0, 0 bf 1f jsr a0 1: lrw a0, main jsr a0 #else subi sp, 8 stw r6, (sp, 0) lrw a0, __ChipInitHandler cmpnei a0, 0 bf 1f jsri __ChipInitHandler 1: jsri main #endif ldw r15, (sp, 0) #ifdef __CSKYABIV2__ addi sp, 4 #else addi sp, 8 #endif jmp r15