📄 stage2_init.s
字号:
#
# Low-level startup code for C programs.
# Also provides alot of common low-level utilities
# to facilitate C code.
#
#define zero $0
#define v0 $2
#define v1 $3
#define a0 $4
#define a1 $5
#define a2 $6
#define a3 $7
#define t0 $8
#define t1 $9
#define t2 $10
#define t3 $11
#define t4 $12
#define t5 $13
#define t6 $14
#define t7 $15
#define s0 $16
#define s1 $17
#define s2 $18
#define s3 $19
#define s4 $20
#define s5 $21
#define s6 $22
#define s7 $23
#define t8 $24
#define t9 $25
#define k0 $26
#define k1 $27
#define gp $28
#define sp $29
#define fp $30
#define s8 $30
#define ra $31
#define CP0_Index $0
#define CP0_Random $1
#define CP0_EntryLo0 $2
#define CP0_EntryLo1 $3
#define CP0_Context $4
#define CP0_PageMask $5
#define CP0_Wired $6
#define CP0_BadVAddr $8
#define CP0_Count $9
#define CP0_EntryHi $10
#define CP0_Compare $11
#define CP0_Status $12
#define CP0_Cause $13
#define CP0_EPC $14
#define CP0_PRId $15
#define CP0_Config $16
#define CP0_Config0 $16
#define CP0_Config1 $16,1
#define CP0_LLAddr $17
#define CP0_WatchLo $18
#define CP0_IWatchLo $18,1
#define CP0_WatchHi $19
#define CP0_IWatchHi $19,1
#define CP0_Scratch $22
#define CP0_Debug $23
#define CP0_DEPC $24
#define CP0_PerfCnt $25
#define CP0_PerfCtrl $25,1
#define CP0_DTag $28
#define CP0_DData $28,1
#define CP0_ITag $29
#define CP0_IData $29,1
#define CP0_ErrorEPC $30
#define CP0_DESave $31
.section ".stage2"
.extern start
.extern init_system
.extern load_booter
.global stage2
stage2:
#
# Initialize Stack Pointer
#
la sp,__stacktop
addiu sp,sp,-4
#
# Initialize GP (needed by prebuilt libs)
#
la gp,_gp
/* Execute From Flash */
la t0, executeCache
jr t0
nop
executeCache:
# Initialize infrastructure (Lightweight Version)
jal init_system
nop
# Load the rest of the booter into RAM
jal load_booter
nop
# Booter is fully loaded to RAM, execute reset code
jal start
nop
########################################################################
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -