- 1、本文档共211页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chap 03 ARM微处理器体系结构与指令集.ppt
3.1 ARM嵌入式微处理器概述 3.1.1 嵌入式微处理器概述 3.1.2 ARM微处理器概述 成立于1990年11月 前身为 Acorn计算机公司 Advance RISC Machine(ARM) 主要设计ARM系列RISC处理器内核 授权ARM内核给生产和销售半导体的合作伙伴 ARM 公司不生产芯片 IP(Intelligence Property) 另外也提供基于ARM架构的开发设计技术 软件工具, 评估板, 调试工具,应用软件,总线架构, 外围设备单元等等 3.4 ARM处理器编程简介 3.5 ARM处理器初始化分析 2.ARM数据处理指令 (1)数据传送指令 ① MOV 数据传送指令 格式: MOV{条件}{S} 目的寄存器,源操作数 功能:可完成从另一个寄存器、被移位的寄存器或将一个立即数加载到目的寄存器。其中S选项决定指令的操作是否影响CPSR中条件标志位的值 MOV R1,R0 MOV PC,R14 MOV R1,R0,LSL#3 ;将R0的值左移3位后传送到R1 2.ARM数据处理指令 ② MVN 数据非传送指令(数据取反传送指令) 格式: MVN{条件}{S} 目的寄存器,源操作数 功能:把源操作数取反后加载到目的寄存器。 说明:与MOV指令不同之处是在传送之前按位被取反——把一个被取反的值传送到目的寄存器中 MVN R0,#0 ;将0取反传送到R0中,完成后R0=-1 (2)算术逻辑运算指令 2.ARM数据处理指令 ① ADD 加法指令 格式:ADD{条件}{S} 目的寄存器,操作数1,操作数2 作用:目的寄存器=操作数1+操作数2 说明:操作数1应是一个寄存器,操作数2可以是一个寄存器,被移位的寄存器,或一个立即数。 ADD R0,R1,R2 ADD R0,R1,#256 ADD R0,R2,R3,LSL #1 ADDS R1,R4,R7 ② SUB 减法指令 2.ARM数据处理指令 格式: SUB{条件}{S} 目的寄存器,操作数1,操作数2 功能:目的寄存器=操作数1-操作数2 说明:该指令可用于有符号数或无符号数的减法运算。 SUB R0,R1,R2 SUB R0,R1,#256 SUB R0,R2,R3,LSL#1 2.ARM数据处理指令 ③ RSB 反向减法指令 格式:RSB{条件}{S} 目的寄存器,操作数1,操作数2 功能:RSB指令称为逆向减法指令,用于把操作数2减去操作数1,并将结果存放到目的寄存器中。 说明:该指令可用于有符号数或无符号数的减法运算。 RSB R0,R1,R2 ; R0 = R2 – R1 RSB R0,R1,#256 ; R0 = 256 – R1 RSB R0,R2,R3,LSL#1 ; R0=(R31)-R2 2.ARM数据处理指令 ④ ADC 带进位加法指令 格式: ADC{条件}{S} 目的寄存器,操作数1,操作数2 作用:目的寄存器=操作数1+操作数2+C 说明:可以做比32位大的数的加法,注意不要忘记设置S后缀来更改进位标志。 ADCS R2, R5, R8 ; R2=R5+R8+C 2.ARM数据处理指令 ⑤ SBC 带借位减法指令 格式: SBC{条件}{S} 目的寄存器,操作数1,操作数2 功能:目的寄存器 = 操作数1 - 操作数2-!C 说明:该指令可以做大于32位的减法,注意不要忘记设置S后缀来更改进位标志。该指令可用于有符号数或无符号数的减法运算。 SUBS R0, R1, R2 2.ARM数据处理指令 ⑥ RSC 带借位反向减法指令 格式: RSC{条件}{S} 目的寄存器,操作数1,操作数2 功能:目的寄存器=操作数2 - 操作数1- !C 说明:该指令可以做大于32位的减法,注意不要忘记设置S后缀来更改进位标志。该指令可用于有符号数或无符号数的减法运算。 RSC R0, R1, R2 ; R0 = R2 – R1 - !C 2.ARM数据处理指令 ⑦ AND 逻辑与操作指令 格式: AND{条件}{S} 目的寄存器,操作数1,操作数2 功能:用于在两个操作数上进行逻辑与运算,并把结果放置到目的寄存器中。 说明:该指令常用于屏蔽操作数1的某些位。 AND R0, R0, #3 ; 保持R0的0、1位,其余位清零 2.ARM数据处理指令 ⑧ ORR 逻辑或操作指令 格式: ORR{条件}{S} 目的寄存器,操作数1,操作数2 功能:用于在两个操作数上进行逻辑或运算,并把结果放置到目的寄存器中。 说
文档评论(0)