📄 asmstartup.s
字号:
/* *---------------------------------------------------------------------- * T-Kernel * * Copyright (C) 2004 by Ken Sakamura. All rights reserved. * T-Kernel is distributed under the T-License. *---------------------------------------------------------------------- * * Version: 1.01.00 * Released by T-Engine Forum(http://www.t-engine.org) at 2004/6/28. * *---------------------------------------------------------------------- *//* * @(#)asmstartup.S (crttk) * * Driver/manager startup */#include <machine.h>#include <tk/asm.h> .text .balign 4 .globl Csym(_C_startup) .type Csym(_C_startup), %functionCsym(_C_startup): bltz $a0, l_noinit // Initialization sequence is performed only when ac >= 0 la $t0, __data_org // When data area does not need to be moved, la $t1, __data_start // OS loads beq $t0, $t1, l_noinit la $t2, _edata // initialize data area bleu $t2, $t1, nocopy_data copy_data: lw $t4, 0($t0) daddu $t0, $t0, 4 sw $t4, 0($t1) daddu $t1, $t1, 4 bne $t1, $t2, copy_data nocopy_data: la $t0, __bss_start // clear bss area la $t1, _end bleu $t1, $t0, nobss clrbss: sw $zero, 0($t0) daddu $t0, $t0, 4 bne $t0, $t1, clrbss nobss: l_noinit: j Csym(_P_startup)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -