.section 段

#define printf 0x43e11ad0

.section .text   //表明下面全是代码段
.global _start
_start:
	push {lr}
	
	//printf("bss_start=0x%x, bss_end=0x%x\n", __bss_start__, __bss_end__);
	//给printf传递3个参数
	ldr r0, =fmt
	ldr r1, =__bss_start__
	ldr r2, =__bss_end__
	
	mov lr, pc 
	ldr pc, =printf
	
	bl clear_bss	//清除bss段
	
	pop {pc}  //回到uboot
	
clear_bss:
	ldr r0,  =__bss_start__
	ldr r1, =ldr r2, =__bss_end__
	
	mov r2, #0
1:
	cmp r1, r2
	srtne r2, [r0]
	addne r0, #4
	bne 1b
	
	mov pc, lr

.section .rodata   //表明下面全是只读数据段
fmt:
	.asciz "bss_start=0x%x, bss_end=0x%x\n"
	
.section .bss	//表明下面全是bss段
	.word 0x12345678
	.word 0x87654321

查看可.out文件里程序中的所有标号



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值