cortex-A8汇编指令练习一

本文介绍了一个基于ARM架构的简单汇编语言程序,该程序通过初始化串口并在循环中调用printf函数来连续打印特定字符串10次。此外,还包含了一个简单的延迟子程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


.text
.extern uart_init
.extern printf


.global _start

_start:
        mov r5,lr       @ 保存子程序链接寄存器

        bl uart_init    @ 初始化异步串口
 
        @ 循环打印10次
        mov r11,#10 
loop: 
       ldr r0,=fmt      @ 将fmt的内容加载到r0寄存器
       @ 再作为第一参数传进printf
       bl printf           @ 跳转到printf程序
       bl delay          @ 跳转到delay程序

       sub r11,r11,#1
       cmp r11,#0
       bne loop        @ 寄存器r11减一直到其值等于零

       mov lr,r5
       bx lr                @ 打印完毕,返回u-boot
 
       @ 延时子程序
delay:
       mov r12,#0x1000000
loop1: 
       sub r12,r12,#1
       cmp r12,#0
       bne loop1
       bx lr

       @ printf函数的第一参数
fmt:
       asciz ">>>>>>>> gec210 <<<<<<<<\n"

.end


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿基米东

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值