⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asmstartup.s

📁 嵌入式操作系统T-Kernel 完整代码
💻 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	lui	$t0, %hi(__data_org)	// When data area does not need to be moved,	addiu	$t0, $t0, %lo(__data_org)	lui	$t1, %hi(__data_start)	// OS loads	addiu	$t1, $t1, %lo(__data_start)	beq	$t0, $t1, l_noinit	lui	$t2, %hi(_edata)	// initialize data area	addiu	$t2, $t2, %lo(_edata)	dsubu	$t3, $t2, $t1	blez	$t3, nocopy_data  copy_data:	lw	$t4, 0($t0)	daddu	$t0, $t0, 4	sw	$t4, 0($t1)	daddu	$t1, $t1, 4	dsubu	$t3, $t2, $t1	bgtz	$t3, copy_data  nocopy_data:	lui	$t0, %hi(__bss_start)	// clear bss area	addiu	$t0, $t0, %lo(__bss_start)	lui	$t1, %hi(_end)	addiu	$t1, $t1, %lo(_end)	dsubu	$t2, $t1, $t0	blez	$t3, 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 + -