嵌入式微处理器 第2章 指令系统.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 2章 指令系统 Von Neumann 体系结构 数据和指令都存放在存储器里。 计算机从存储器取指令。 CPU与存储器分离的是存储程序计算机。 CPU 寄存器主要用于程序计数器PC Von Neumann 体系结构 Harvard 体系结构 von Neumann 与 Harvard体系结构 Harvard 不能够使用自修改编码 Harvard 可以同时进行两个存取工作。 多数DSP使用Harvard体系结构 。 更大的存储带宽。 带宽的可预见性更强 RISC 与 CISC Complex instruction set computer (CISC):复杂指令集计算机 多种类型的指令 变长型指令 程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。 优点是控制简单,但计算器各部分的利用率不高,执行速度慢。 Reduced instruction set computer (RISC):精简指令集计算机 种类比较少 管道化的指令 寻址方式也比复杂指令集少 数据管道是在同一个应用中对象之间快速传送数据的小型统一部件,比信息(message)传输的方式更块 指令集的特点 固定长度与可变长度 寻址模式 操作数的个数 操作数的类型 ARM 版本 ARM结构被扩展成为多个版本。 本课将集中在ARM7 ARM7是von Neumann结构的 ARM9是Harvard结构的。 汇编语言 汇编语言指令与翻译成的机器语言指令之间基本是一一对应的关系 基本特点: 一个指令一行; 给内存单元提供名字的标记LABEL,由第一列开始。 指令通常在随后的列开始。 注释以分号开头,分号右边的内容将被汇编程序忽略 ARM 汇编语言 相当标准的汇编语言: LDR r0,[r8] ; a comment label ADD r4,r0,r1 ARM 汇编语言例子 label1 ADR r4,c LDR r0,[r4] ; a comment ADR r4,d LDR r1,[r4] SUB r0,r0,r1 ; comment ARM编程器模型 16个通用寄存器,包括PC 一个状态寄存器 字节的排列顺序 ARM允许32位长地址,但每个地址访问是一个字节而不是一个字。 ARM 数据类型 32位字长 分成四个8位的字节 ARM地址可是32位长。 地址是以字节来引用的。 可在加电时设置高序或低序。 ARM 状态位 第个算术、逻辑或位移运算都会调整CPSR位: N (negative), Z (zero), C (carry), V (overflow). 例如: -1= 0xffffffff 1 == 0x1 -1 + 1 = 0: NZCV = 0110. 0 – 1 = - 1 : 0x0 – 0x1 = 0xffffffff NZCV = 1000 231-1+1 = -231: 00fffffff 0x7fffffff + 0x1 = 0NZCV = 1001. ARM 数据指令 基本形式: ADD r0,r1,r2 把 r1+r2的值存储在r0中 立即操作数: ADD r0,r1,#2 将 r1+2的值存储在r0中。 ARM数据指令 ADD, ADC : add (w. carry) SUB, SBC : subtract (w. carry) RSB, RSC : reverse subtract (w. carry) MUL, MLA : multiply (and accumulate) AND, ORR, EOR BIC : bit clear LSL, LSR : logical shift left/right ASL, ASR : arithmetic shift left/right ROR : rotate right RRX : rotate right extended with C 数据操作的不同方法 逻辑位移: 补“0” 算术位移: 在右移时以符号位来充填。 RRX 执行的是33位的循环,包括来自在符号位上的CPSR的C位。 ARM 比较指令 CMP : 比较 CMN : 负数比较 TST : 按位测试(与) TST R0, #0X0f;判断R0的低4位是否为0 TEQ : 按位求反测试(异或) TEQ R0,R1; 比R0,R1是否相等 这些操作的结果只是去更新CPSR中的NZCV位。 ARM 数据传送指令 MOV, MVN :数据非传送 MOV r0, r1 ; 将r1的内容放入r0 MVN R1,#0xFF; R=0xFFFFF00 ARM 存储器访问指令 LDR, LDRH, LDRB:

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档