ARM体系结构与编程是嵌入式系统开发中的基础,它主要关注如何使用ARM架构的处理器进行程序设计。本文档是作者自学《ARM体系结构与编程》的读书笔记,重点介绍了ARM汇编指令集的一些基本概念和常用指令。 ARM指令集分为6大类,包括跳转指令、数据处理指令、程序状态寄存器(PSR)传输指令、Load/Store指令、协处理器指令和异常中断产生指令。这里我们主要讨论跳转指令和数据处理指令。 1. **跳转指令** - **B** 和 **BL** 指令是无条件和有条件跳转指令,用于程序流程控制。B指令用于无条件跳转,而BL指令不仅跳转,还会将当前PC值存储到LR寄存器,用于函数调用的返回。 - **BLX** 指令则更复杂,它可以进行状态切换,如从ARM模式跳转到Thumb模式,或者反之。BLX(1)指令用于无条件跳转并切换状态,而BLX(2)指令允许跳转到由寄存器指定的地址,根据bit[0]的值来决定是执行ARM还是Thumb指令。 - **BX** 指令用于状态切换,它可以将程序从一种模式切换到另一种模式,比如从Thumb模式切换回ARM模式。 2. **数据处理指令** - **MOV** 是数据传送指令,可将数据从一个寄存器传送到另一个,或者加载常数,执行移位操作。在特定情况下,如设置S位,可以实现子程序调用或从中断返回。 - **MVN** 指令用于取数据的反码,可以用来生成负数或掩码。 - **ADD** 是加法指令,可以执行基本的加法操作,如自增,或者两个操作数的加法,还可以与PC寄存器配合生成基于PC的跳转指针。 - **ADC** 带位加法指令,常用于两个64位数相加的情况,通过连续使用ADDS和ADC指令,可以计算两个大数的和。 - **SUB** 是减法指令,可以执行减法操作,SUBS指令在与跳转指令配合时,可用于实现循环,其C标志位的变化与ADDS指令相反,以适应其他指令的需要。 - **SBC** 是带减位法指令,类似于减法但考虑了进位,用于需要考虑进位的减法操作。 这些指令构成了ARM汇编语言的基础,是编写ARM处理器程序的关键。理解并熟练运用这些指令,能够有效地编写出高效、简洁的ARM程序,适用于嵌入式系统、实时操作系统等场景。学习和掌握这些基本指令对于深入理解ARM体系结构至关重要。
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/release/download_crawler_static/1488080/bg1.jpg)
![](https://csdnimg.cn/release/download_crawler_static/1488080/bg2.jpg)
剩余6页未读,继续阅读
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 3
- 资源: 5
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)