28、树莓派ARM汇编语言编程与调试指南

树莓派ARM汇编语言编程与调试指南

1. 代码执行后返回操作系统

代码执行完毕后,最后两个操作(阴影部分)提供了返回操作系统级别的方法。ARM有一个 svc 指令,即服务调用指令,用于调用操作系统。大多数计算机都有类似 svc 的操作,它有很多名称,如软件中断。该指令调用操作系统并提供一个或多个参数,参数可以是指令本身的一部分,也可以加载到寄存器中。当操作系统检测到服务调用时,会读取参数并执行相应操作,此操作完全依赖于系统,是操作系统的一部分,而非计算机架构的一部分。在树莓派操作系统中,服务调用所需的特定功能会预先加载到 r7 中。

2. 汇编语言程序要点
  • 注释以 @ 符号开头(或使用C语言的 /* */ )。
  • 汇编指令以句点开头。
  • 标签从第一列开始,以冒号结尾。
  • .end 指令可用于终止汇编语言(可选)。
  • .global 指令提供一个标签,指示程序的入口点。
3. 使用树莓派调试器

可以使用 gdb 运行ARM汇编语言程序并逐行观察其执行。将程序加载到 gdb 时,可能看似没有任何反应。若尝试查看汇编代码或寄存器,会收到错误消息,必须先显式运行程序。

以下是一个示例代码片段在Geany编辑器中的情况,它展示了创建和测试汇编语

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值