第2章 ARM微处理器的指令系统.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 ARM微处理器的指令系统

共161页 * * 2.3 本章小结 本章介绍了 ARM 处理器的寻址方式及 ARM 处理器的指令集。 ARM 处理器的寻址方式包括:数据处理指令寻址方式 和 内存访问指令寻址方式;ARM 处理器的指令集包括:数据操作指令、乘法指令、Load/Store指令、跳转指令、状态操作指令、协处理器指令、异常产生指令。 共161页 * * 作业 2、请编程完成将R0中的数乘以R1中的数,并将结果存放在R3、R4中。 1、ARM处理器能否与存储器中的数据直接进行加、减、乘等运算?若要完成该功能如何实现。 3、请简要说明ARM指令系统与8086/8088指令系统的异同。 共161页 * * (2)协处理器数据传送指令 这类指令从存储器读取数据装入协处理器寄存器,或将协处理器寄存器的数据装入存储器。这类指令包括 LDC 指令和 STC 指令。 (3)协处理器寄存器传送指令 在某些情况下,需要 ARM 处理器和协处理器之间传送数据。这类指令包括 MCR 和 MRC 。 共161页 * * 下表列出了所有协处理器指令: 助记符 操作 CDP 协处理器数据操作 LDC 装载协处理器寄存器 MCR 从ARM寄存器传数据到协处理器寄存器 MRC 从协处理器寄存器传数据到ARM寄存器 STC 存储协处理器寄存器 1、ARM 寄存器到协处理器寄存器的数据传送指令 MCR 共161页 * * ARM寄存器到协处理器寄存器的数据传送指令MCR(Move to Coprocessor from ARM Register)将ARM寄存器Rd的值传送到协处理器寄存器cp_num中。如果没有协处理器执行指定操作,将产生未定义指令异常。指令的编码格式如下: 1)指令编码格式 共161页 * * 2)指令的语法格式 MCR{cond} coproc,opcode_1,Rd,CRn,CRm {,opcode_2} ①cond 为指令编码中的条件域。它指示指令在什么条件下执行。当cond忽略时,指令为无条件执行。 ②coproc 指定协处理器编号,标准的协处理器的名字为p0、p1、……、p15(小写)。 共161页 * * ③opcode_1 指定协处理器执行的操作码,确定哪一个协处理器指令将被执行。 ④Rd 确定哪一个ARM寄存器的数值将被传送。如果程序计数器PC的值被传送,指令的执行结果不可预知。 ⑤CRn 确定包含第一个操作数的协处理器寄存器。 共161页 * * ⑥CRm 确定包含第二个操作数的协处理器寄存器。 ⑦opcode_2 指定协处理器执行的操作码,确定哪一个协处理器指令将被执行。通常与opcode_1配合使用。 共161页 * 3)指令举例 将 ARM 寄存器 R7 中的值传送到协处理器 P14 的寄存器 C7、C12 中,第一操作数 opcode_1=1 和第二操作数 opcode_2=6。 MCR p0,1,R7,c7,c12,6 特别注意:P,C要小写 共161页 * * 4)指令的使用 指令的编码格式中,bits[31:24]、bit[20]、bits[15:8]和bit[4]为 ARM 体系结构定义。其他域由各生产商定义。硬件协处理器支持与否完全由生产商定义,某款 ARM 芯片中,是否支持协处理器或支持哪个协处理器与 ARM 版本无关。生厂商可以选择实现部分协处理器指令或完全不支持协处理器。 共161页 * * 2、协处理器寄存器到 ARM 寄存器的数据传送指令 MRC 1)指令的编码格式 协处理器寄存器到 ARM 寄存器的数据传送MRC(Mov to ARM register from Coprocessor)将协处理器 cp_num 的寄存器传送到 ARM 寄存器中。如果没有协处理器执行指定操作,将产生未定义指令异常。指令的编码格式如下: 共161页 * * 2)指令的语法格式 MRC{cond} coproc,opcode_1,Rd,CRn,CRm {,opcode_2} ①cond 为指令编码中的条件域。它指示指令在什么条件下执行。当 cond 忽略时,指令为无条件执行。 共161页 * * ②coproc 指定协处理器编号,标准的协处理器的名字为 p0、p1、……、p15(小写)。 ③opcode_1 指定协处理器执行的操作码,确定哪一个协处理器指令将被执行。 共161页 * * ④Rd 确定哪一个 ARM 寄存器接受协处理器传送的数值。如果程序计数器 PC 被用做目的寄存器,指令的执行结果不可预知。 ⑤CRn 确定包含第一个操作数的协处理器寄存器。 共161页 * *

文档评论(0)

yaocen + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档