第3章ARM920T指令系统.ppt

  1. 1、本文档共105页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM920T处理器最多支持16个协处理器。在程序执行过程中,ARM执行的协处理器指令,要指定某一个协处理器进行某种操作,其他协处理器将忽略这条指令。当一个协处理器硬件不能执行属于它的协处理器指令时,ARM920T产生一个未定义指令异常中断。 因此对于随后介绍的全部协处理器指令,在S3C44B0X中将引起未定义指令陷阱被产生。这些协处理器指令,能够由未定义指令陷阱程序来仿真。 3.2.13 协处理器数据操作指令(CDP) 协处理器数据操作指令CDP用于通知协处理器执行某些协处理器的内部操作。协处理器执行结果无需返回ARM7TDMI,ARM7TDMI也不用等待协处理器操作完成。 CDP指令一般用于初始化协处理器,对ARM寄存器和存储器无任何影响。 CDP指令也可以指定浮点运算协处理器对协处理器的两个寄存器中的数,进行某种浮点运算,结果放在协处理器的第三个寄存器中。 ⒈指令含义 CDP指令中指定的协处理器,将执行CP Opc域(可能也 参考CP域)规定的对CRn和CRm的操作,结果存CRd。 指令中除了CP#用作指定协处理器号以外,其他的域可能在不同的协处理器中会重新定义它们的用途。 CP#域用于指定一个协处理器号,范围为0~15,每个协处理器对应一个编号。除了CP#域指定的协处理器,其他协处理器将忽略这条协处理器指令。 ⒉ 指令汇编格式 ⒊ 使用举例 CDP p2,11,c2,c3,c4 ;协处理器2进行操作码11规定的动作,对CR3 ;和CR4进行操作,结果存CR2 CDPEQ p3,6,c2,c3,c4,2 ;如果Z标志位被设置,协处理器3进行操作码6 ;规定的动作(可能也参考CP域,即类型2),对 ;CR3和CR4进行操作,结果存CR2 3.2.14 协处理器数据传送指令(LDC、STC) 协处理器数据传送指令用于在存储器和协处理器寄存器之间直接传送数据。 LDC指令读存储器数据送协处理器寄存器。STC指令读协处理器寄存器内容送存储器。 ⒈ 指令编码格式 指令编码格式见图3.21。 ⒉ 指令含义 LDC指令用于将存储器的一个字或多个字数据读出,送协处理器寄存器。 STC指令用于将协处理器一个或多个寄存器的内容,送存储器。 ARM7TDMI提供存储器地址,协处理器提供或访问数据,并且控制传送的字数。 ⑴ 协处理器域 ⑵ 寻址方式 ⑶ 地址对齐 ⑷ R15的使用 ⒊ 指令汇编格式 ① 由表达式(expression)产生的地址 ② 先索引寻址方式指定 ③ 后索引寻址方式指定 ⒋ 使用举例 LDC p2,c3,table1 ;用PC相对寻址,从table1装入一个字, ;送协处理器2的c3寄存器 STCEQL p3,c4,[R6,#24]! ;条件执行,存协处理器3的c4寄存器内容到 ;存储器,地址为R6+24字节,回写R6,长传送 LDC p6,c2,[R1] ;读取R1指向的存储器单元的数据,送 ;协处理器6的c2寄存器 LDC p5,c2,[R2,#4] ;读R2+4指向的存储器单元的数据,送 ;协处理器5的c2寄存器 3.2.15 协处理器寄存器传送指令(MRC、MCR) MRC指令用于从协处理器寄存器向ARM7TDMI寄存器传送信息。 MCR指令用于从ARM7TDMI寄存器向协处理器寄存器传送信息。 MRC指令一个用处是直接传送控制信息到ARM7TDMI的CPSR中的条件码标志,例如,在协处理器内两个浮点值比较的结果,能够传送到CPSR。 ⒈ 指令含义 ⑴ 协处理器域 ⑵ R15的使用 ⒉ 指令汇编格式 ⒊ 使用举例 MRC p1,4,R2,c4,c ;要求协处理器1,对协处理器寄存器c4和c5 ;执行操作4规定的动作,并且传送结果返回到 ;ARM7TDMI的R2 MRCEQ p2,8,R2,c4,c5,1 ;条件执行,要求协处理器2,对c4和c5执行 ;操作8(类型1),并且传送结果返回R2 MCR p13,1,R6,c6,c12,6 ;要求R6内容送协处理器13的c6,执行操作1 ;(类型6),结果放C12 3.2.16 未定义指令 ⒈ 指令含义 如果指令编码格式中bit[31:28]表示的条件为真,则未定义指令执行,未定义指令陷阱将被产生。 ⒉ 指令汇编格式 汇编器没有产生这条指令的助记符,到目前为止,这条指令不被使用。将来为了某些特殊的用途,适合的助记符将被加入到汇编器。 END 3.2.7 单个数据传送指令(LDR、STR) 执行一条单个数据传送指令只能在存储器和寄存器之间传送一字节或一个字数据。 ⒈ 指令编码格式 指令编码格式见图3.12。 ⒉

文档评论(0)

飞扬的岁月 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档