微处理器系统与嵌入式系统1-7章最全答案合集_第1页
微处理器系统与嵌入式系统1-7章最全答案合集_第2页
微处理器系统与嵌入式系统1-7章最全答案合集_第3页
微处理器系统与嵌入式系统1-7章最全答案合集_第4页
微处理器系统与嵌入式系统1-7章最全答案合集_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、“微处理器系统原理与嵌入式系统设计”第一章习题解答什么是程序存储式计算机程序存储式计算机指采用存储程序原理工作的计算机。存储程序原理又称“冯诺依曼原理”,其核心思想包括:程序由指令组成,并和数据一起存放在存储器中;计算机启动后,能自动地按照程序指令的逻辑顺序逐条把指令从存储器中 读出来,自动完成由程序所描述的处理工作。通用计算机的几个主要部件是什么主机(CPUU主板、内存);外设(硬盘/光驱、显示器/显卡、键盘/鼠标、声卡/音箱);以集成电路级别而言,计算机系统的三个主要组成部分是什么中央处理器、存储器芯片、总线接口芯片阐述摩尔定律。每18个月,芯片的晶体管密度提高一倍,运算性能提高一倍,而价

2、格下降一半。讨论:摩尔定律有什么限制,可以使用哪些方式克服这些限制摩尔定律还 会持续多久在摩尔定律之后电路将如何演化摩尔定律不能逾越的四个鸿沟:基本大小的限制、散热、电流泄露、热噪。具体 问题如:晶体管体积继续缩小的物理极限,高主频导致的高温解决办法:采用纳米材料、变相材料等取代硅、光学互联、3D、加速器技术、多内核(为了降低功耗与制造成本,深度集成仍是目前半导体行业努力的方向,但这不 可能永无止,因为工艺再先进也不可能将半导体做的比原子更小。用作绝缘材料的二 氧化硅,已逼近极限,如继续缩小将导致漏电、散热等物理瓶颈,数量集成趋势终有 终结的一天。一旦芯片上线条宽度达到纳米数量级时,相当于只有

3、几个分子的大小, 这种情况下材料的物理、化学性能将发生质的变化,致使采用现行工艺的半导体器件 不能正常工作,摩尔定律也就要走到它的尽头了。业界专家预计,芯片性能的增长速 度将在今后几年趋缓,一般认为摩尔定律能再适用10年左右,其制约的因素一是技术,二是经济。)试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与相互影响。计算机系统结构主要是指程序员关心的计算机概念结构与功能特性,而计算机组 成原理则偏重从硬件角度关注物理机器的组织,更底层的器件技术和微组装技术则称 为计算机实现。例如:确定指令集中是否有乘法指令属于计算机体系结构的内容,而 乘法指令是由专门的乘法器实现还是用加法器

4、实现则属于计算机组成原理的内容,乘 法/加法器底层的物理器件类型及微组装技术则属于计算机实现的内容。同一计算机制造商提供的不同系列的计算机通常采用不同的结构,而同系列的计 算机则具有相同的结构和不同的组织,因此同一系列的不同型号计算机价格和性能特 点也不相同。如某系列机都支持相同的指令系统,但其中的低档机可采用顺序方式对 指令进行分析、处理,而高档机则可采用流水或其它并行处理方式;或某系列机都支 持相同的数据形式(如16/32位的定点数、32/64/128 位的浮点数),但其中的低档机可采用采用较窄的数据通路宽度(8位或16位),而高档机则可采用较宽的数据通路宽度(32位)。另一方面,显然计算

5、机现阶段能达到的实现技术会直接制约其可采用的系统结构 和组成方法。区分微处理器的关键特征是什么微处理器可通过以下两个基本特征来区分:字长:表示 CPU一次传送或处理数据的最大二进制位数。通常与CPU的数据总线宽度、寄存器宽度以及ALU宽度一致。主频:通常以 MHz表示,决定 CPU内的最小时钟速率,从而决定处理器每 秒可执行的指令数目。某测试程序在一个 40 MHz处理器上运行,其目标代码有100 000条指令, 由如下各类指令及其时钟周期计数混合组成,试确定这个程序的有效 CPI、MIPS的值和执行时间。指令类型指令计数时钟周期计数整数算术45 0001数据传送32 0002浮点数15 00

6、02控制传送80002Cycles Per Instruction(CPI)二(45000/100000)*1+(32000/100000)*2+(15000/100000)*2+(8000/100000)*2 =*1+*2+*2+*2=Million Instructions Per Second(MIPS)=40/=执行时间T二(100000*(1/(40*106) )=4*10-3= *10-3 s=存储器分层结构是如何提高性能的常用的存储设备或技术有很多,通常来说速度越快则每位价格越高。因此现代计 算机系统通常把不同容量、不同速度的存储设备按一定的层次结构组织起来,形成一M1 (最靠近

7、CPU的存储个统一的存储系统,以解决存储容量、存取速度和价格之间的矛盾。 多层次存储系统要达到的目标是:整个存储系统速度接近层)而价格和容量接近Mn (最远离 CPU的存储层)。这就要求越靠近CPU的存储设备速度越快,当然每位价格也就越高,容量也就越小。由于绝大多数程序访问具有局部CPU的存储器中。M1 “失效”则将 M2M3,依此类推。这样 整个系统的性能也性原理,因此可以把近期CPU需要使用的程序和数据放在尽可能靠近CPU访问存储器时,首先是访问M1,若M1 “命中”则直接存取,若中包含所需数据的块或页调入M1;若在 M2中也找不到,就访问CPU对存储器的大部分访问操作都可以针对速度较快的

8、存储层完成, 就得到了提高。说明RISC架构与CISC架构之间的区别RISCCISC设计重点降低指令执行的硬件复杂度,但对编译器有更局的要求侧重指令执行的 硬件功能性,控制 器的硬件设计复杂指令集指令种类少,长度固定,且执行简单,可在 单时钟周期完成指令复杂,长度通常不固定,执行 也需要多个周期流水线指令处理过程可被拆分成能够被流水线并行执行的规则步骤指令执行通常需要调用微程序加器有更多的通用寄存器专用寄存器较多。load-store 结构为避免耗时的 访存操作,把访存与数据处理 分开。处理器能够直接处理内存中的数 据。RISC,CISC的一些看法误区:RISC指令都是简单指令LDREQ R0

9、,R1,R2,LSR #16! 指令的强大,一般的CISC处理器望尘莫及。RISC的“简单”是指指令集的执行时间、指令长度、指令格式整齐划一。CISC的复杂指令速度慢、执行效率很低现代CISC处理器具有非常长的流水线( PIII采用了 25级的流水线),执行速度 快。但老的 CPU执行速度可能较慢。但RISC不管是老的 CPU还是新的 CPU,指令执行时间都是相同的,不需要在对 指令执行作出优化。CISC寄存器与 RISC相当。RISC处理器比CISC处理器需要更多的寄存器 这不是一个需求问题,而是一个实现问题。所以有的 般情况RISC需要比较多的寄存器。RISC都有流水线ARM2没有采用流水

10、线。理微处理器系统原理与嵌入式系统设计”第三章习题解答什么是冯诺伊曼计算机结构其运行的基本原理如何冯.诺依曼计算机由运算器、控制器、存储器、输入设备和输出设备构成,采用二进制 表示信息,以存储器为中心,按存储程序原理工作。存储程序原理指编好的程序首先放入存储器,开始工作后,由控制器自动、高速依次 从存储器中取出指令并执行。微处理器的体系结构可以分为几种试分别说明各种体系结构的优缺点。优点缺点随机逻辑针对指令硬件做了专门的优化,所用的逻 辑门数少,制造费用低。指令集设计与硬件电路设计紧密相 关,设计过程复杂,难以实现复杂 指令,设计难以重用。微码体系 结构相比于硬件,微代码不容易出错,建立微代码

11、比较省时,改动微代他更为容易,CPU 版本升级简单。微代码的开销大于硬件实现,微控 制必须要比CPU!行速度更局。流水线体 系结构并行的执行不同指令的不同阶段,提高了 指令的吞吐率,增强了处理器性能。处理器设计较为困难,在设计中需 要解决数多种冲突问题超标里体 系结构实现了真正的并行执行,让MIPS可以大于 时钟频率。更多的硬件资源,设计极其复杂高级编程语言、汇编语言以及机器语言之间有哪些不同机器语言是直接用二进制代码表达的计算机语言。指令用“0”和“ 1”组成,并分成若干段,各段的编码表示不同的含义。机器语言面向硬件, 是唯一可以由硬件直接执行的语言。汇编语言采用符号代替机器语言中的二进制码

12、:用助记符(Mnemonic)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。汇编语言与机器语言一一对应,因此不具有 移植性,但更易于读写和理解。汇编语言源程序需要汇编成机器语言才能交给硬件执行。高级编程语言语法和结构更类似普通英文,且由于远离对硬件的直接操作,因此移植 性较好。高级语言源程序需要编译(或解释)成机器语言才能交给硬件执行。什么是计算功能指令、数据传输指令以及控制流程指令计算功能指令:对数据进行处理完成算术运算或逻辑运算等的指令。数据传输指令:负责把数据、地址或立即数传送到寄存器、I/O端口或存储单元中,或者反方向传送的指令。控制流程指令:用来控制程序执行流

13、程的指令,有测试、转移、跳转等子类。解释跳转、分支、调用以及中断所需进行的操作。跳转:根据“跳转”指令指计算目的地址,修改程序指针。分支:根据“分支”指令判断执行条件,计算跳转地址,修改程序指针。调用:保存断点,根据“调用”指令计算子程序入口地址,修改程序指针,执行完毕 后恢复断点。中断:保护断点及现场,查找中断向量表以确定中断程序入口地址,修改程序指针, 执行完毕后恢复现场及断点。固定长度指令编码有什么优缺点可以简化硬件设计、减小指令译码的时间,但指令编码的效率不高,信息冗余度大, 可扩展性差。在处理器工彳频率、CPI和处理器性能方面,哪些因素会增加流水线深度时钟周期越小,则要求组合电路的延

14、迟越小,流水线级数越多,但过多的流水线无助 于处理器工作频率的提高。CPI越大,为了提高运算效率则流水级数需求越多。处理器性能和流水线级数是一个动态平衡的关系,需要具体在设计流水线的同时考虑 冲突。一个时钟频率为 GHz的非流水式处理器,其平均 CPI是4。此处理器的升级版本引入了 5级流水。然而,由于如锁存延迟这样的流水线内部延迟,使新版处理器的时钟频率必须降低到 2 GHz。(1)对一典型程序,新版所实现的加速比是多少(2)新、旧两版处理器的MIPS各是多少(1)对于一个有N条指令的程序来说:非流水式处理器的总执行时间T0(4N)/(2.5109)1.6N109s5级流水处理器的总执行时间

15、T1(N5 1)/(2109)2(N4) 10 9s加速比=T02型,N很大时加速比T1N 4(2)非流水式处理器CPI=4,则其执行速度 =2500MHz/4=625MIPS5 级流水处理器 CPI=1 ,则其执行速度=2000 MHz /1=2000 MIPS 。随机逻辑体系结构的处理器的特点是什么详细说明各部件的作用。随机逻辑的特点是指令集设计与硬件的逻辑设计紧密相关,通过针对特定指令集进行硬件的优化设计来得到逻辑门最小化的处理器,以此减小电路规模并降低制造费用。主要部件包括:产生程序地址的程序计数器,存储指令的指令寄存器,解释指令的控制逻辑,存放数据的通用寄存器堆,以及执行指令的ALU

16、等几个主要部分构成。分别详细说明采用可变时钟周期与多时钟周期改进随机逻辑体系结构的原理。CPU内部时序信号的定时方式可以分成同步控制、异步控制、联合控制三种方式。其中同步控制指在任何情况下,所有指令在执行时所需的机器周期数和时钟周期数都固定不变。同步控制的一种实现方式就是可变时钟周期,指CPU根据当前指令的操作特性调整时钟周期, 将大多数指令操作安排在一个较短的机器周期内完成, 对某些复杂操作, 则采 取延长机器周期的办法来解决。而异步控制的一种实现方式就是多时钟周期,指时钟周期不变,但CPU每条指令的执行周期可由多少不等的机器周期数组成。什么是微代码体系结构微指令的作用是什么在微码结构中,控

17、制单元的输入和输出之间被视为一个内存系统。控制信号存放在一个微程序内存中, 指令执行过程中的每一个时钟周期, 处理器从微程序内存中读取一个控制 字作为指令执行的控制信号并输出。微指令只实现必要的基本操作,可以直接被硬件执行。通过编写由微指令构成的微代码, 可以实现复杂的指令功能。 微指令使处理器硬件设计与指令集设计相分离, 有助于指令 集的修改与升级,并有助于实现复杂的指令。微码体系结构与随机逻辑体系结构有什么区别( 1 ) 指令集的改变导致不同的硬件设计开销。在设计随机逻辑结构时,指令集和硬件必须同步设计和优化,因此设计随机逻辑的结构比设计微码结构复杂得多, 而且硬件和指令集二者中任意一个变

18、化, 就会导致另外一个变 化。在微码结构中,指令设计通过为微码ROM编写微码程序来实现的,指令集的设计并不直接影响现有的硬件设计。因此,一旦修改了指令集,并不需要重新设计新的硬件。( 2 )从性能上比较随机逻辑在指令集和硬件设计上都进行了优化,因此在二者采用相同指令集时随机逻辑结构要更快一些。 但微码结构可以实现更复杂指令集, 因此可以用较少的指令完成复杂的 功能,尤其在存储器速度受限时,微码结构性能更优。5 阶段如果可能,说明流水线体系结构中的 4 个阶段的操作。能否把流水线结构分为试给出你的方案。流水线若分为四个阶段应包括:取指,译码,执行,数据回写流水线若分为五个阶段应包括:取指,译码,

19、执行,存储器操作,数据回写什么是超标量体系结构超标量是通过内置多条流水线或多个流水部件以实现多条指令的同时执行,其实质是以空间换取时间。而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一步甚至多步操作,其实质是以时间换取空间。指令的乱序执行可以带来什么好处通过将指令执行顺序重新排序,让满足执行条件的指令尽早地执行,从而提高处理器性能。指令的乱序执行可以减少流水线冲突,减轻流水操作时由于数据等待、控制等待、资源冲突等中断时,其他无关指令也必须等待的问题,从而提高了流水线的效率。讨论:假设处理器速度和主存储器时延之间的差距不断增大,计算机性能是否可能决定于存储器访问时间在这种情况下,哪

20、些微处理器架构特性会提高处理器性能哪些不会如果计算机具有一个比现在快100 倍的处理器,但是存储器速度仅仅是现在存储器的两倍,这样的计算机和当前计算机在设计方法上有什么区别可能。如果出现这种情况,采用微码结构、流水线结构以及超标量结构(一次取多条指令)都可以提高处理器性能,尤其是微码结构。而随机逻辑结构则不合适。如果出现一个比现在速度快100 倍的处理器,而存储器速度仅快两倍,则设计计算机体系结构时首先应该考虑如何尽量减少访问存储器的次数。“微处理器系统原理与嵌入式系统设计”第四章习题解答地址映像方法有哪几种它们各有什么优缺点( 1 ) 内存地址映射指内存虚拟地址空间到物理地址空间的转换。分页

21、技术:特点是页的大小固定;优点是程序不必连续存放,因此没有外碎片(每个内碎片不超过页大小) ;缺点是增加了硬件成本(如需要地址变换机构)和系统开销(如需要好的调页算法) 。分段技术:特点是段的大小可变;优点是每个段按内容独立,因此可以分别编写和编译, 可以针对不同类型的段采取不同的保护, 可以按段为单位来进行共享 (包括通过动态链接进行代码共享) ;缺点是会导致碎片。( 2 ) I/O 地址映射指系统中 I/O 端口的编址方式。独立编址技术:优点是系统中存储单元和 I/O 端口的数量可达到最大;缺点是需专门信号来指示系统地址线上出现的是存储单元地址还是端口地址, I/O 指令的功能比较弱。存储

22、器映像编址技术:优点是对端口操作和存储器单元操作完全一样,因此系统简单,并且对端口操作的指令比较多;缺点是CPU(寸存储单元和I/O单口的实际寻址空间都小于其 最大寻址空间。EPROM存储器芯片在没有写入信息时,各个单元的内容是什么某SRAM单元中存放有一个数据(如5AH) , CPU等它读取后,该单元的内容是什么EPROW储器芯片在没有写入信息时,各个单元的内容均为全“1”。SRAM非破坏性读出,因此该单元的内容在读取后保持不变。下列ROMS片各需要多少个地址输入端多少个数据输出端 16 X4 位 (2) 32 X8 位 (3) 256 X4 位 (4) 512 X 8 位16X4位=24*

23、4bit ,因此有4个地址输入端和4个数据输出端。32X8位=25*4bit ,因此有5个地址输入端,8个数据输出端。256X 4=28*4bit ,因此有8个地址输入端,4个数据输出端。512X8=29*4bit ,因此有9个地址输入端,8个数据输出端。某计算机系统中 ROM% 6K,最后一个单元的地址为9BFFH RAMfe 3K。已知其地址为连续的,且ROMS前,RAMfc后,求该存储器的首地址和末地址。该存储器的首地址(第一个RO邮元地址)为:9BFFH-6K+1=9C00H-1800H=8400H该存储器末地址(最后一个RAMW1元地址)为:9BFFH+3K=9BFFH+0C00H=

24、0A7FFH若某系统有16条地址线,现用 SRAM 2114(1KX 4)存储芯片组成存储系统,试问采用线选译码时,系统的存储容量最大为多少需要多少个2114 存储芯片每片 2114 需要 10 条地址线,剩余 6 条地址线进行线选译码最多可以区分6 组 12 个芯片。这时系统的存储容量最大为( 1K*4bit ) *2 片/ 组 *6 组 =6KB。设有一个具有24 位地址和 8 位字长的存储器,问:(1) 该存储器能够存储多少字节的信息(2)如果该存储器由4 MX1位的RAM芯片组成,需要多少片(3)在此条件下,若数据总线为8位,需要多少位地址线用于芯片选择(1)该存储器的存储容量 =22

25、4 =16M字节(2)需要4M*1的芯片数目:16M8 32片 4M 1(3)用于片内字选的地址线应满足:222 =4M,即字选需要 22根地址线,片选需要 2根地址线。试为某8位计算机系统设计一个具有 8KB ROMffi 40KB RAM的存储器。要求ROMffl EPROMS片 2732 组成,从 0000H 地址开始;RAMffl SRAME片 6264 组成,从4000H地址开始查阅资料可知,2732容量为4Kx 8(字选线12根),6264容量为8Kx 8(字选线13根), 因此本系统中所需芯片数目及各芯片地址范围应如下表所示:A15A14A13A12A11A10A9A8A7A6A

26、5A4A3A2A1共需2片2732构成系统ROM红色为片选A片地址范围0000H0FFFH000000000000000000011111111111第二片地址范围1000H1FFFFH000100000000000000111111111111共需5片6264构成系 统RAM红色为片选A片地址范围4000H5FFFH010000000000000010111111111111第二片地址范围6000H7FFFFH011000000000000011111111111111第三片地址范围8000H9FFFFH100000000000000100111111111111第四片地址范围0A000H0

27、BFFFFH101000000000000101111111111111第五片地址范围0C000H0DFFFFH110000000000000110111111111111硬件连线方式之一如下图所示:说明:8位微机系统地址线一般为 16位。采用全译码方式时, 系统的AoA2直接与6264的 13根地址线相连,系统的 AAii直接与2732的12根地址线相连。片选信号由 74LS138译 码器产生,系统的 A15A13作为译码器的输入。各芯片的数据总线(D0。)直接与系统的数据总线相连。各芯片的控制信号线(RD WR直接与系统的控制信号线相连。某计算机系统有8个I/O接口芯片,每个接口芯片占用8

28、个端口地址。若起始地址为9000H, 8个接口芯片的地址连续分布,用74LS138作为译码器,试画出端口译码电路图,并说明每个芯片的端口地址范围。接口编A15A6A5A4A3A2A0地址空间1000000001119000H9007H20010001119008H900FH30100001119010H9017H40110001119018H901FH51000001119020H9027H61010001119028H902FH71100001119030H9037H81110001119038H903FH试完成下面的RAMI(统扩充图。假设系统已占用 0000 27FFH段内存地址空A15

29、问,并拟将后面的连续地址空间分配给该扩充RAM系统译码器输出/Q0/Q1ATAA/Q2/Q3/Q4/Q5/Q6/Q7A15A1413 12 1100A13A11A10A0地址空间0000H07FHA10800H0FF1000H17F二HFH00000000002000H27F0000000002800H2BFFH112C00H2FFFH1800H 1FFFHFH假设一台打印机的数据输出I/O端口地址为378H,状态端口地址为 379H,状态字节的D0位为状态位(D0 = 0 ,表示打印数据缓冲区空,CPK以向它输出新数据;D0 = 1 ,表示打印数据缓冲区满)。试用查询方式从内存中以 B UF

30、为首址的单元处开始,将连续1 KB的数据传送给打印机,每次传送一个字节。给出接口的硬件结构,说明数据交换流程。初始化内存指针为 BUBCPU从379H端口读入状态字,并判断 D0位(Busy),若D0=1则重复(1);若D0=0则CPU向378H数据端口写数据,同时Busy会变为高电平,并通知外设 数据已经准备好;外设在适当时候取走数据,并发送/ACK信号将D触发器清零,使Busy=0,准备下一次数据传送;修改内存指针(加 1),重复(2)至(5) 1000次;试用无条件传输方式完成下列功能:将首地址为40000H的内存单元中1K个字数据从端口 Output处输出,然后从端口Input处输入2

31、KB数据到首地址为50000H的内存单元中。给出接口的硬件结构,说明数据交换流程。初始化内存指针为 40000H;CPU取一个字节数据输出到 Output端口,并修改内存指针(加 1);重复(2) 2000次,完成2K个字节的传送;初始化内存指针为 50000H;CPU从Input端口读入一个字节数据写入内存单元,并修改内存指针(加1);重复(5) 2000次,完成2K个字节的传送;在某系统中,要求采用中断方式把一个长100字节的数据块从首址为AREA的存储区传送到端口地址为37FH的接口上,每次中断只传送一个字节。试给出数据交换流程。主程序:初始化内存指针为 AREA (全局变量);初始化传

32、送次数为100 (全局变量);允许传送中断;启动传送:从内存取一个字节输出到37FH端口,并修改内存指针(加 1);等待中断或处理其他事情; 中断服务程序:修改传送次数(减1),并判断是否为0,若为0,退出中断,结束传送;若未传送完,则修改内存指针(加 1);从内存取一个字节输出到 37FH端口;返回;用8255A作为CPUt打印机白接口,8255A的A端口工作于方式 0输出;C端口工作于方式0。8255A与打印机及CPU的连线如下图所示。试给出查询方式下将100个数据送打印机打印的数据交换流程。CPUi C 口并判断 PCO (BUSY 电平,若 PCO (BUSY =1,贝U重复(1);若

33、PC0 (BUSY =0,表示打印机空闲, CPU即可向A 口输出一个数据;CPU! C 口令PC6=0 (延时后再令 PC6=1),通知打印机数据已准备好;打印机取走数据后令 BUSY=0重复(1) (4) 100 次;若某8位A/D转换器的满度输入电压为10 V ,则其量化误差为多少1 102 28 10.0196VARMB号I 7种运行模式:1)用户模式2)快速中断模式3)外部中断模式4)管理模式5)终止模式6)未定义模式7)系统模式运行模式的切换由CPSR氐 8 位中 M4M0控制位决定(1) 10000 (2) 10001 (3) 10010 (4) 10011 (5) 10111

34、(6) 11011 11111ARM犬态:处理器执行 32位字时齐的ARM旨令Thumb状态:处理器执行 16位的,半字对齐的 Thumb指令切换:进入Thumb 1.当操作数寄存器的状态位(最低位)为 1时执行BX指令当在Thumb发生异常,在异常处理后自动返回Thumb进入ARM 1.当操作数寄存器的状态位为0时,执行BX指令当进行异常处理时,把程序计数器的 PC的值放入异常模式链接寄存器中,从异常向量地址开始执行程序,自动进入ARM犬态1)寄存器寻址2)寄存器寻址,立即寻址3)寄存器寻址,寄存器间接寻址4)寄存器寻址,基址变址寻址5)多寄存器寻址(堆栈寻址)6)寄存器寻址,寄存器寻址,寄

35、存器移位寻址7)多寄存器寻址8)相对寻址1)改为 ADD R1, R2,#42)对3)不用“! ”4)立即数#02F100不符合规定5) b)a = a-b;elseb = b-a;return a; AREA Sub1,CODE,READONLYEXPORT Sub1CMP R0, R1;(R0) =a, (R1) =bMOVEQ PC LRSUBGT R0, R0, R1SUBLT R1, R1, R0LDR R2, =aSTR RO, R2MOV PC, LR;相等则返回;带符号数大于条件码为GT,无符号数为HI;带符号数小于条件码为LT,无符号数为LO;R2指向a;更新变量a;返回EN

36、D宏的定义如下面的代码所示:MICRO$aa example $bb, $cc, $dd$aa CMP $cc, #0 B$dd $bbMENDexample ,则其程序代码如下若在汇编程序中需要调用上面定义的宏 试写出下面程序被汇编后,宏展开后的结果lable example next, R3, NE next宏展开后的代码为: labelCMP R3 , #0BNE next编写一个程序段,判断寄存器R5中数据是否为12, 18, 22, 29, 45 或67,如果是则将R0中数据加1,否则将R0设置为0 xF,并把这个程序段定义成 一个代码段。AREA Comp, CODE, READO

37、NLYENTRYdatLDR R0, =dat;寄存器 R0指向DataT表中的数据列表MOV R1,#6; dat 表中的数据个数MOV R2,#0;标志寄存器(R2) =0则R5中数据不在 dat表中;调整比较指针;调整比较次数SUB R0,R0,#4LoopSUBR1,R1,#1BEQ HandleCMPR5, R0,#4 !BNE LoopMOVEQ R2, #1HandleCMP R2, #0ADDNE R0, R0, #1MOVEQ R0, #0 xFStopAREA DataT , DATA, READWRITEdat DCD 12 , 18, 22, 29, 45, 67 ;需

38、要比较的数据列表END试编写一个循环程序,实现从0 开始 10 个偶数的累加。AREA Foud , CODE, READONLYENTRY;存放累加和;存放加数;累加次数;调整累加次数MOVR0, #0MOVR1, #0MOV R2, #9LoopADDR1,R1,#2ADDR0,R0,R1SUBR1,R1,#1BNELoopStopEND试把如下 C 函数改写成汇编语言函数。int SubXY(int x, int y)return x-y;void SubXY(int x, int y, int z) z = x-y;AREA SubXY ,CODE,READONLYEXPORT Sub

39、XYSUB R0, RO, R1;结果通过 R0返回MOV PC, LR ;返回END2)AREA SubXY ,CODE,READONLYSUBR2,R0,R1LDRR3,=zSTRR2,R3MOVPC,LREXPORT SubXY;R3执行变量z;更新变量z;返回END把如下汇编语言函数改写成C 函数。CMP R0, #1CMPNE R1, #1ADDEQ R2, R3, R4(R0)=a,(R1)=b,(R2)=c,void mydo(int a, int b, int c, int d, int e);(R3)=d, (R4)=e,if (a!=1)if (b= =1) c=d+e;阅读程序,说明如下程序完成的功能。llsearchCMP R0, #0LDRNEB R2, R0CMPNE R1, R2LDRNE R0, R0, #4BNE llsearch MOV PC, LR若R0w0,则将R0指向的字节数据读入R2;若R0W0且R1WR2,则将R0+4指向的双字数据存入 R0中;循环,直至R0=R2退出子程序。阅读程序,说明如下程序完成的功能strcm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论