📄 init_env.s
字号:
/*-----------------------------------------------------------------------------*/
#include "mips.h"
#define SYS_STACK_SIZE 0x5000
#define SYS_APPL_STACK_SIZE 0x5000
#define AVALANCHE_SWRCR 0xa8611604
LEAF( init_environment )
.set noreorder
.extern _etext_rom
/* Setup sp (at top of memory) */
la sp, _freemem
li t0, SYS_STACK_SIZE
addu sp, t0
/* Setup gp */
la gp, _gp
/* Store system info */
la t0, _etext_rom /*etext*/
la t1, sdata
la t2, edata
IDATAL: beq t1, t2, IDATAD
lb t3, 0(t0)
addu t0, t0, 1
sb t3, 0(t1)
b IDATAL
addu t1, t1, 1
IDATAD:
la t0, sbss
la t1, ebss
IBSSL: beq t0, t1, IBSSD
addu t0, t0, 1
b IBSSL
sb zero, -1(t0)
IBSSD:
li t0, 4*4
subu sp, t0
move a0, s8
la t0, c_entry
jalr t0
nop
jal init_environment
nop
.align 2
END( init_environment )
LEAF( reboot )
.set noreorder
li t0, AVALANCHE_SWRCR
li t1, 1
sw t1, 0(t0)
nop
.set noreorder
.set mips3
li $2, 0xbfc00000
jr $2
nop
.set mips0
.set reorder
.align 2
END( reboot )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -