新微机原理与接口技术 基于嵌入式芯片 教学课件 徐惠民 chap3.pptVIP

新微机原理与接口技术 基于嵌入式芯片 教学课件 徐惠民 chap3.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 微机原理与接口 ----基于嵌入式芯片 第三章 ARM CPU的指令系统 第一节 指令的结构 编码格式 第一节 指令的结构 语法格式 Opcode { Cond } { S } Rd, Rn, Operand2 其中: Opcode 指令助记符 Cond 指令执行的条件 S 决定指令的操作是否影响CPSR的值 Rd 表示目标寄存器 Rn 包含第1个操作数的寄存器 Operand2 表示第2个操作数 第一节 指令的结构 操作符 Opcode { Cond } { S } Rd, Rn, Operand2 助记符,表3-1(P53) 分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令、异常产生指令、饱和指令和伪指令 第一节 指令的结构 条件域 Opcode { Cond } { S } Rd, Rn, Operand2 表3-3(P56) 15种条件 几乎所有的指令均根据程序状态寄存器CPSR中条件码C、Z、N、V的状态和指令的条件域有条件的执行。 第一节 指令的结构 不等于(Not equal) 无符号的大于或等于 无符号的小于 负数(Minus) 等于(Equal) 溢出(Overflow) 没溢出 无符号的大于 无符号的小于等于 正数或零 带符号小于(Less Than) 带符号大于(Greater Than) 带符号小于等于 总是执行(Always) 带符号大于等于 EQ NE CS/HS CC/LO PL VS HI LS GE LT GT LE AL MI VC Suffix 描述 Z=0 C=1 C=0 Z=1 测试的标志位 N=1 N=0 V=1 V=0 C=1 Z=0 C=0 or Z=1 N=V N!=V Z=0 N=V Z=1 or N=!V 条件码 条件执行示例 一系列的指令都使用条件指令 if (a==0) func(1); CMP r0,#0 MOVEQ r0,#1 BLEQ func 置标志位,再使用不同的条件码 if (a==0) x=0; if (a0) x=1; CMP r0,#0 MOVEQ r1,#0 MOVGT r1,#1 第二节 指令的寻址方式 寻址方式:如何根据指令中给出的地址信息寻找操作数的物理地址。 操作数可能在: 指令中直接给出:立即数 寄存器 内存单元 第二节 指令的寻址方式 立即寻址 寄存器寻址 寄存器移位寻址 寄存器间接寻址 基址变址寻址 多寄存器寻址 相对寻址 堆栈寻址 第三节 ARM指令集---跳转指令 有两种方法可以实现程序流程的跳转: 1.??使用专门的跳转指令直接跳转。 2. 直接向程序计数器PC写入跳转地址值 调转指令包括以下3条指令: B 跳转指令 BL 带返回的跳转指令 BX 带状态切换的跳转指令 BLX 带状态切换的返回的跳转指令 处理器核按偏移量的两倍移位,移位区分正负,再把该值加到当前PC寄存器内 跳转范围:± 32 Mbyte 如何执行长跳转? 28 31 24 0 Cond 1 0 1 L 偏移量 条件码区域 Link bit 0 = Branch 1 = Branch with link 23 25 27 第三节 ARM指令集---跳转指令 第三节 ARM指令集---数据处理指令 数据传送指令 MOV、MVN 算术逻辑运算指令 ADD、ADC、SUB、SBC、RSB、RSC AND、ORR、EOR、BIC 比较指令 CMP、CMN、TST、TEQ 不保存计算结果 第三节 ARM指令集---存储器访问指令 加载/存储指令 LDR、LDRB、LDRH LDRSB、LDRSH STR、STRB、STRH 批量加载/存储指令 LDM、STM 数据交换指令 SWP、SWPB 0x5 r1 0x200 基址 寄存器 0x200 r0 0x5 源寄存器 for STR 偏移量 12 0x20c 通过 STR r0,[r1,#12]!来自动更新基址寄存器 第三节 ARM指令集---存储器访问指令 STR r0,[r1,#12] 0x5 r1 0x200 原基址 寄存器 0x200 r0 0x5 源寄存器 for STR 偏移量 12

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档