entry.s (1369B)
1 // assembler directives 2 .set noat // allow manual use of $at 3 .set noreorder // don't insert nops after branches 4 5 #include "macros.inc" 6 7 8 .section .text, "ax" 9 10 glabel entry_point 11 .if VERSION_CN == 1 12 lui $t0, %lo(_mainSegmentNoloadStartHi) 13 ori $t0, %lo(_mainSegmentNoloadStartLo) 14 lui $t1, %lo(_mainSegmentNoloadSizeHi) 15 ori $t1, %lo(_mainSegmentNoloadSizeLo) 16 .L80249010: 17 sw $zero, ($t0) 18 sw $zero, 4($t0) 19 addi $t0, $t0, 8 20 addi $t1, $t1, -8 21 bnez $t1, .L80249010 22 nop 23 lui $sp, %lo(gIdleThreadStackHi) 24 ori $sp, %lo(gIdleThreadStackLo) 25 lui $t2, %lo(main_funcHi) 26 ori $t2, %lo(main_funcLo) 27 jr $t2 28 nop 29 .else 30 lui $t0, %hi(_mainSegmentNoloadStart) // $t0, 0x8034 31 lui $t1, %lo(_mainSegmentNoloadSizeHi) // lui $t1, 2 32 addiu $t0, %lo(_mainSegmentNoloadStart) // addiu $t0, $t0, -0x6df0 33 ori $t1, %lo(_mainSegmentNoloadSizeLo) // ori $t1, $t1, 0xcee0 34 .L80246010: 35 addi $t1, $t1, -8 36 sw $zero, ($t0) 37 sw $zero, 4($t0) 38 bnez $t1, .L80246010 39 addi $t0, $t0, 8 40 lui $t2, %hi(main_func) // $t2, 0x8024 41 lui $sp, %hi(gIdleThreadStack) // $sp, 0x8020 42 addiu $t2, %lo(main_func) // addiu $t2, $t2, 0x6dc4 43 jr $t2 44 addiu $sp, %lo(gIdleThreadStack) // addiu $sp, $sp, 0xa00 45 .endif 46 nop 47 nop 48 nop 49 nop 50 nop 51 nop