asmstartup.s

来自「使用广泛的日本著名的开源嵌入式实时操作系统T-Kernel的源码」· S 代码 · 共 60 行

S
60
字号
/* *---------------------------------------------------------------------- *    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/MB87Q1100) * *	Driver/manager startup  */#include <machine.h>#include <tk/asm.h>	.text	.balign	4	.globl	Csym(_C_startup)	.type	Csym(_C_startup), %functionCsym(_C_startup):	cmp	r0, #0	blt	l_noinit		// Initialization sequence is performed only when ac >= 0	ldr	r4, =__data_org		// When data area does not need to be moved,	ldr	r5, =__data_start	// OS loads	cmp	r4, r5	beq	l_noinit	ldr	r6, =_edata		// initialize data area	cmp	r5, r6	bhs	nocopy_data  copy_data:	ldr	ip, [r4], #4	str	ip, [r5], #4	cmp	r5, r6	blo	copy_data  nocopy_data:	ldr	ip, =0			// clear bss area	ldr	r4, =__bss_start	ldr	r5, =_end	cmp	r4, r5	bhs	nobss  clrbss:	str	ip, [r4], #4	cmp	r4, r5	blo	clrbss  nobss:  l_noinit:	b	Csym(_P_startup)

⌨️ 快捷键说明

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