- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM指令大全的
ARM指令集详解
ARM可以用两套指令集:ARM指令集和Thumb指令集。本文介绍ARM指令集。在介绍ARM指令集之前,先介绍指令的格式。1? 指令格式??????? cond? 执行条件,如EQ,NE 等??????? S? 是否影响CPSR 寄存器的值,书写时影响CPSR,否则不影响??????? Rd? 目标寄存器??????? Rn? 第一个操作数的寄存器??????? operand2? 第二个操作数??????? 指令格式举例如下:??????? LDR R0,[R1] ;读取R1 地址上的存储器单元内容,执行条件AL??????? BEQ DATAEVEN ;跳转指令,执行条件EQ,即相等跳转到DATAEVEN??????? ADDS R1,R1,#1 ;加法指令,R1+1=R1 影响CPSR 寄存器,带有S??????? SUBNES R1,R1,#0xD;条件执行减法运算(NE),R1-0xD=R1,影响CPSR 寄存器,带有S??????? (2)第2个操作数??????? 在ARM 指令中,灵活的使用第2个操作数能提高代码效率,第2个操作数的形式如下:??????? #immed_8r??????? 常数表达式,该常数必须对应8 位位图,即常数是由一个8 位的常数循环移位偶数位得到。??????? 合法常量??????? 0x3FC、0、0xF0000000、200、0xF0000001等都是合法常量。??????? 非法常量??????? 0x1FE、511、0xFFFF、0x1010、0xF0000010等都是非法常量。??????? 常数表达式应用举例如下:??????? MOV R0,#1 ;R0=1??????? AND R1,R2,#0x0F ;R2 与0x0F,结果保存在R1??????? LDR R0,[R1],#-4 ;读取R1 地址上的存储器单元内容,且R1=R1-4??????? Rm??????? 寄存器方式,在寄存器方式下操作数即为寄存器的数值。??????? 寄存器方式应用举例:??????? SUB R1,R1,R2 ;R1-R2=>R1??????? MOV PC,R0 ;PC=R0,程序跳转到指定地址??????? LDR R0,[R1],-R2 ;读取R1 地址上的存储器单元内容并存入R0,且R1=R1-R2??????? Rm, shift??????? 寄存器移位方式。将寄存器的移位结果作为操作数,但RM 值保存不变,移位方法如下:??????? ASR #n? 算术右移n 位(1≤n≤32)??????? LSL #n? 逻辑左移n 位(1≤n≤31)??????? LSR #n? 逻辑左移n 位(1≤n≤32)??????? ROR #n? 循环右移n 位(1≤n≤31)??????? RRX? 带扩展的循环右移1位??????? type Rs? 其中,type 为ASR,LSL,和ROR 中的一种;Rs 偏移量寄存器,低8位有效,若其值大于或等于32,则第2 个操作数的结果为0(ASR、ROR例外)。??????? 寄存器偏移方式应用举例:??????? ADD R1,R1,R1,LSL #3 ;R1=R1*9??????? SUB R1,R1,R2,LSR#2 ;R1=R1-R2*4??????? R15 为处理器的程序计数器PC,一般不要对其进行操作,而且有些指令是不允许使用R15,如UMULL 指令。??????? (3)条件码??????? 使用指令条件码,可实现高效的逻辑操作,提高代码效率。表A-1给出条件码表。
表A-1? 条件码表
??????? 对于Thumb指令集,只有B 指令具有条件码执行功能,此指令条件码同表A-?,但如果为无条件执行时,条件码助记符“AL”不能在指令中书写。??????? 条件码应用举例如下:??????? 比较两个值大小,并进行相应加1 处理,C 代码为:??????? if(a>b)a++??? ??? ;??????? else b++??? ??? ??? ;??????? 对应的ARM 指令如下。其中R0为a,R1为b。??????? CMP R0,R1 ??? ??? ; R0 与R1 比较??????? ADDHI R0,R0,#1 ??? ??? ; 若R0>R1,则R0=R0+1??????? ADDLS R1,R1,#1 ??? ??? ;若R0<=R1,则R1=R1+1??????? 若两个条件均成立,则将这两个数值相加,C代码为:??????? If((a!=10)(b!=20)) a=a
您可能关注的文档
- 8_MFC的进程和线程的.doc
- 8北京地铁车站设计值母南-车站建筑1.doc
- 8余世维讲义全集成沟摩经理人有感.ppt
- 8并发控制的.ppt
- 8数据文件处理技术的.ppt
- 8路串口分配器使用旱耐编码说明.doc
- 8计算机系统结构(第的八讲).ppt
- 9 单品种流水线生产的系统仿真与分析.doc
- 9 计算机外部设备的.doc
- 9-系统测试之系统测的试执行-3.ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
最近下载
- 华南理工大学《电力经济与管理》教学:电力经济与管理2-经济学.ppt VIP
- (完整版)药店医疗器械培训试题及答案 .pdf VIP
- 苏教版一年级下册科学《2-4 水是什么样的》ppt课件 (8).pptx
- 中考语文一轮专题复习课件:我国古代贬谪文学鉴赏——以《小石潭记》《岳阳楼记》《记承天寺夜游》为例.pptx VIP
- 客户找车合同范本.docx VIP
- 华南理工大学《电力经济与管理》教学:电力经济与管理2-经济学(2).ppt VIP
- 20230720-西部证券-医脉通-2192.HK-深度报告:上下游场景持续拓展,专业医生平台构筑竞争壁垒.pdf
- 中船科技(600072)公司2023年财务分析研究报告.doc
- 中国书法简介英语版-chinese-calligraphy(完整版).ppt
- 2025年供电营业规则考试题库.pdf
文档评论(0)