常用ARM v4指令集及汇编

常用ARM v4指令集及汇编

ID:43351085

大小:254.15 KB

页数:91页

时间:2019-09-30

常用ARM v4指令集及汇编_第1页
常用ARM v4指令集及汇编_第2页
常用ARM v4指令集及汇编_第3页
常用ARM v4指令集及汇编_第4页
常用ARM v4指令集及汇编_第5页
资源描述:

《常用ARM v4指令集及汇编》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、常用ARMv4指令集及汇编VI前言零零散散用了大概一周的时间,在《常用ARM指令集及汇编》(2003年12月1日)的基础上,大致学习了一遍ARM指令集和汇编,看的过程当中更正了一些错误的地方,并结合其它资料适当添加了一些内容,也做了一些删减,现分享出来,希望能帮助到需要的人。文中必然还有一些错误还有待改进,有些地方还需要解释的更加详细,本人精力有限,希望有心的读者,订正并增加注释,最好也分享出来,以方便大家对ARM指令的深入理解。作为刚入行的新手,不谦虚的推荐几本书:《ARM体系结构与编程-杜春雷》,《嵌入式系统体系结构、编程与设计-RajKamal著,贾建斌译》,《嵌入式系统:采用公开源代

2、码和StrongARM_XScale处理器-毛德操》。这几本书到底好不好,看个人需求和喜好吧,仁者见仁智者见智。最后,感谢《常用ARM指令集及汇编》的原作者和其它资料的作者让我有机会学习我不熟悉的东西,谢谢。learllp2015-11-09VI目录常用ARMv4指令集及汇编I前言II目录IIIARMv4指令集及汇编1一、ARM处理器寻址方式1寄存器寻址1立即寻址1寄存器偏移寻址2寄存器间接寻址2基址寻址3多寄存器寻址3堆栈寻址3块拷贝寻址4相对寻址4二、指令集介绍5ARM指令集5指令格式5基本格式5第2个操作数51.#immed_8r常数表达式52.Rm寄存器方式63.Rm,shift寄存

3、器移位方式6条件码7ARM存储器访问指令8◆LDR和STR8◆LDM和STM11◆SWP14ARM数据处理指令15数据传送指令15算术逻辑运算指令16VI比较指令18乘法指令19ARM跳转指令21ARM协处理器指令22ARM杂项指令24ARM伪指令26Thumb指令集29Thumb指令集与ARM指令集的区别29跳转指令29数据处理指令29单寄存器加载和存储指令29批量寄存器加载和存储指令30Thumb存储器访问指令30伪指令31符号定义伪指令32数据定义伪指令34报告伪指令39汇编控制伪指令41杂项伪指令43◆AREA45◆CODE16和CODE3246◆END46◆ENTRY46◆EQU4

4、7◆EXPORT和GLOBAL47◆IMPORT和EXTERN47◆GET和INCLUDE48◆INCBIN48◆KEEP49◆NOFP49◆REQUIRE49◆PEQUIRE8和PRESERVE849◆RN49◆ROUT50ARM伪指令50◆ADR50VI◆ADRL50◆LDR51◆NOP51◆LDFD51◆LDFS51三、ARM汇编程序设计51文件格式51ARM汇编的一些规范52汇编语句格式52标号52基于PC的标号53基于寄存器的标号53绝对地址53局部标号53符号54常量54数字常数54字符常量54布尔常量55段定义55宏定义及其作用55子程序的调用56数据比较跳转57循环57数据块

5、复制57栈操作58特殊寄存器定义及应用58散转功能58查表操作58长跳转59对信号量的支持59伪指令使用59一个完整的例子59外围部件控制60四、C与汇编混合编程60内嵌汇编60VI内嵌汇编的指令用法62内嵌汇编器与armasm汇编器的差异63内嵌汇编注意事项63访问全局变量65C与汇编相互调用65寄存器的使用规则66堆栈使用规则66参数传递规则66C程序调用汇编程序67调用汇编的C函数:67汇编程序调用C程序68五、ARM指令集列表69ARM存储器访问指令表列表69ARM数据处理指令列表70ARM乘法指令列表71ARM跳转指令列表72ARM协处理器指令列表73ARM杂项指令列表74ARM伪

6、指令列表75六、Thumb指令集列表120Thumb存储器访问指令列表120Thumb数据处理指令列表121Thumb跳转指令及软中断指令列表122Thumb伪指令列表123七、汇编预定义变量及伪指令124预定义的寄存器和协处理器名124通用寄存器124程序状态寄存器124浮点数寄存器124协处理器及协处理器寄存器125八、内置变量列表125九、伪指令列表126十、指令条件码列表128十一、CPSR和SPSR分配图129VIARMv4指令集及汇编ARM处理器是基于精简指令集计算机(RISC)原理设计的,指令集和相关译码机制较为简单,具有32位ARM指令集和16位Thumb指令集。ARM指令集

7、效率高,但是代码密度低,而Thumb指令集具有更好的代码密度,却仍然保持ARM的大多数性能上的优势,它是ARM指令集的子集,主要用于编译器设计。所有ARM指令都是可以有条件执行的,而Thumb指令仅有一条指令具备条件执行功能。ARM程序和Thumb程序可相互调用,相互之间的状态切换开销几乎为零。一、ARM处理器寻址方式寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式,ARM处理器有9种基本寻

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。