电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

(完整版)ARM汇编指令英文全称及功能描述V2.0VIP免费

(完整版)ARM汇编指令英文全称及功能描述V2.0_第1页
(完整版)ARM汇编指令英文全称及功能描述V2.0_第2页
(完整版)ARM汇编指令英文全称及功能描述V2.0_第3页
1ARM指令英文全称及功能描述V2.0作者:满光明2019年4月9日转载请支持原创,保留此页信息,否则将追究责任2前言我在工作前买了一本关于ARM指令的书籍,当时出于方便记忆理解的考量,整理了ARM指令,并且加入了英文的全称。了解了英文的全称,能够好的帮助记忆和理解。百度网盘里分享出来的ARM指令英文全称我看了一下都是我当年整理的版本,但他们把作者的名字去掉了。几年过去了,ARM技术取得了巨大的进步,ARM以其低功耗、低成本、高性能的优势抢占了移动市场。相信在不远的未来,ARM会普遍运行在个人电脑和服务器上。在可穿戴、边缘计算等前沿领域ARM拥有无与伦比的优势。作为一个技术控,工作以来我一直从事ARM相关的开发工作,计算机领域需要学习的东西太多,但很多基础知识都是相通的。我也希望能把自己这么多年的技术积累拿出来分享给即将走上硬件开发、底层驱动开发的同仁们本篇仍然以介绍ARM架构以及ARM指令为主,在原来的基础上重新调整了指令顺序,首先介绍ARM架构不同版本的区别,进而引出基本指令结构,最后详细列出所有指令详表,增强可读性,易于理解。3一、ARM指令集版本历史计算机完成一定的操作通过指令来实现,不同的指令方式被称为计算机架构,目前计算机主要有两大架构阵营,一是CISC(ComplexInstructionSetComputers)复杂指令集架构,另一种是RISC(ReducedInstructionSetComputers)精简指令集架构。采用CISC架构的代表是Intel和AMD的X86指令集,采用RISC架构的代表是ARM指令集和PowerPC指令集。ARM架构从诞生到今天从V1版本已经升级到了V8版本,各版本代表的分支型号如下表所示。架构处理器家族历史ARMv1ARM1最早由Acorn计算机公司设计,1985年开发出样本。ARMv2ARM2、ARM31986年开发出ARM2,32位数据,26位地址空间。ARMv3ARM6、ARM71990年设计团队组成新公司AdvancedRISCMachinesLtd.(安某国际)ARMv4StrongARM、ARM7TDMI、ARM9TDMIARMv5ARM7EJ、ARM9E、ARM10E、XScaleARMv6ARM11、ARMCortex-MARMv7ARMCortex-A、ARMCortex-M、ARMCortex-RARMv8Cortex-A35、Cortex-A50系列[14]、Cortex-A72、Cortex-A73从图中可以看出,Cortex-A9架构的CPU采用的是ARMv7的指令集,目前高性能的64位视频处理,比如Cortex-A72,采用的是ARMv8指令集。4高版本的指令集会向下兼容低版本,在低版本的基础上增加了更多特殊用途的指令集,比如浮点运算,CPU加速、数据安全等特殊用途的指令集。5二、ARM指令集每种架构的CPU都有一组特殊用途的寄存器,用来存放从存储器读来数据或者指令编码,在ARM中,有一个特殊的寄存器叫CPSR(currentprogramstatusregister),用来存放当前指令执行的状态。比如存放数学运算结果的正负、借位、溢出等情况,详细信息如下表所示。CPSRfieldF(Flagsfieldmaskbyte)S(Statsfieldmaskbyte)X(Extensionfieldmaskbyte)C(controlfieldmaskbyte)CPSR313029282726252423222120191817161514131211109876543210意义NZCVQDNZ(RAZ)系统扩展用IFTM4M3M2M1M0CPSR各位详细意义N当前指令运算结果为负时,N=1;结果为非负时,N=0Z运算结果为0,Z=1;否则Z=0C上溢出、进位C=1;下溢出、借位C=0V加减法V=1表示符号位溢出II=1时,禁止IRQ中断FF=1时,禁止FIQ中断TT=0,ARM指令;T=1,Thumb指令M[4:0]0b10000User0b10001FIQ0b10010IRQ0b10011Supervisor0b10111Abort0b11011Undefined0b11111System6对于32位的CPU架构,ARM指令由32位机器码组成,根据编码格式,ARM指令固定的格式如下:313029282726252423222120191817161514131211109876543210CondOpcodeSRnRdShift_operand多数ARM指令可以条件执行,执行的结果可以影响CPSR寄存器的Z、N、C或者V等状态标志位。cond域不同的值所代表不同的意义。Opcode域代表具体的指令,S为指令的后缀,可加可不加,指令后缀带S表示该指令的结果会影响CPSR寄存器。指令的详细编码格式如下。指令格式313029282726252423222120191817161514131211109876543210CondOpcodeSRnRdShift_operandCond指令执行的条件编码,详细如下所示opcode指令操作符编码(更高版本的指令集操作码包含bit27、26、25)S决定指令的操作是否影响CPSR的...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

爱的疯狂+ 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部