crt0.s

来自「Newlib 嵌入式 C库 标准实现代码」· S 代码 · 共 66 行

S
66
字号
#ifdef __mn10300__	.section .text	.global	_start_start:	mov _stack-8,a0		# Load up the stack pointer	mov a0,sp	mov _edata,a0		# Get the start/end of bss	mov _end,a1	cmp a0,a1		# If no bss, then do nothing	beq .L0	clr d0			# clear d0.L1:	movbu d0,(a0)		# Clear a byte and bump pointer	inc a0	cmp a0,a1	bne .L1.L0:	call ___main,[],0	# Call __main to run ctors/dtors	clr d0	clr d1	mov d0,(4,sp)	call _main,[],0		# Call main program	call _exit,[],0		# All done, no need to return or				# deallocate our stack.	.section ._stack_stack:	.long 	1#else	.section .text	.global	_start_start:	mov _stack-4,a3		# Load up the stack pointer and allocate				# our current frame.	mov _edata,a0		# Get the start/end of bss	mov _end,a1	cmp a0,a1		# If no bss, then do nothing	beqx .L0	sub d0,d0		# clear d0.L1:	movb d0,(a0)		# Clear a byte and bump pointer	add 1,a0	cmp a0,a1	bnex .L1.L0:	jsr ___main	sub d0,d0	mov d0,d1	mov d0,(a3)	jsr _main		# Call main program	jmp _exit		# All done, no need to return or				# deallocate our stack.	.section ._stack_stack:	.long 	1#endif

⌨️ 快捷键说明

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