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

📄 asmstartup.s

📁 使用广泛的日本著名的开源嵌入式实时操作系统T-Kernel的源码
💻 S
字号:
/* *---------------------------------------------------------------------- *    T-Kernel * *    Copyright (C) 2004-2006 by Ken Sakamura. All rights reserved. *    T-Kernel is distributed under the T-License. *---------------------------------------------------------------------- * *    Version:   1.02.02 *    Released by T-Engine Forum(http://www.t-engine.org) at 2006/8/9. * *---------------------------------------------------------------------- *//* *	@(#)asmstartup.S (crttk) * *	Driver/manager startup  */#include <machine.h>#include <tk/asm.h>	.text	.balign	4	.globl	_A_startup	.type	_A_startup, @function_A_startup:	bltz	r0, l_noinit		// Initialization sequence is performed only when ac >= 0	seth	r4, #shigh(__data_org)	// When data area does not need to be moved,	add3	r4, r4, #low(__data_org)// OS loads	seth	r5, #shigh(__data_start)	add3	r5, r5, #low(__data_start)	beq	r4, r5, l_noinit	seth	r6, #shigh(_edata)	// initialize data area	add3	r6, r6, #low(_edata)	beq	r5, r6, nocopy_data	addi	r5, #-4	addi	r6, #-4  copy_data:	ld	r7, @r4+	st	r7, @+r5	bne	r5, r6, copy_data  nocopy_data:	ldi	r7, #0			// clear bss area	seth	r4, #shigh(__bss_start - 4)	add3	r4, r4, #low(__bss_start - 4)	seth	r5, #shigh(_end - 4)	add3	r5, r5, #low(_end - 4)	beq	r4, r5, nobss  clrbss:	st	r7, @+r4	bne	r4, r5, clrbss  nobss:  l_noinit:	bra	Csym(_P_startup)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -