《微机原理与接口技术》习题答案.docx

上传人:1564****418 文档编号:96668004 上传时间:2024-02-25 格式:DOCX 页数:77 大小:425.18KB
返回 下载 相关 举报
《微机原理与接口技术》习题答案.docx_第1页
第1页 / 共77页
《微机原理与接口技术》习题答案.docx_第2页
第2页 / 共77页
点击查看更多>>
资源描述

《《微机原理与接口技术》习题答案.docx》由会员分享,可在线阅读,更多相关《《微机原理与接口技术》习题答案.docx(77页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、习题参考答案第 1 章习题参考答案1. 1D2D3B4C5D6D2. 答:计算机是一种以电子器件为根底的,不需人的直接干预,能够对各种数字化信息进展快速算术和规律运算的工具,是一个由硬件软件组成的简单的自动化设备。理解计算机的概念,应从六个方面:1以电子器件为物质根底,即争论的对象是电子数字计算机Digital Computer;2不需要人的直接干预,说明具有自动化力量,其前提是存储程序;3处理各种数字化信息,计算机以二进制编码作为数字化编码及运算的根底;4具有算逻运算力量,根本运算操作是算术和规律运算;5计算机是快速工具,主要取决于两个因素:一是电子器件,二是存储程序。6由硬件和软件组成。3

2、. 答:见本章小结。4. 答:计算机的生命力在于它的广泛应用,应用的范围几乎涉及人类社会的全部领域。归纳起来,在科学计算、过程检测与掌握、信息治理、计算机关心系统等领域中的应用成就 最为突出。举例:计算机关心教学CAI;学生的学籍治理系统;数字图书馆系统;虚拟现实系统; 售票系统;学校的一卡通系统等。5. 答:冯诺依曼原理的根本思想是: 承受二进制形式表示数据和指令。指令由操作码和地址码组成。 将程序和数据存放在存储器中,使计算机在工作时从存储器取出指令加以执行,自动完成计算任务。这就是“存储程序”和“程序掌握”简称存储程序掌握的概念。 指令的执行是挨次的,即一般依据指令在存储器中存放的挨次执

3、行,程序分支由转移指令实现。 计算机由存储器、运算器、掌握器、输入设备和输出设备五大根本部件组成,并规定了 5 局部的根本功能。冯诺依曼型计算机的根本特点也可以用“存储程序”和“程序掌握”来高度概括。6. 答:计算机的硬件系统由有形的电子器件等构成的,它包括运算器、存储器、掌握 器、输入输出设备及总线系统组成。而总线分为数据总线、地址总线、掌握总线,其构造有单总线构造、双总线构造及多总线构造。存储器Memory是用来存放数据和程序的部件;运算器是对信息进展运算处理的部件;掌握器是整个计算机的掌握核心。它的主要功能是读 取指令、翻译指令代码、并向计算机各局部发出掌握信号,以便执行指令;输入设备能

4、将数 据和程序变换成计算机内部所能识别和承受的信息方式,并挨次地把它们送入存储器中;输 出设备将计算机处理的结果以人们能承受的或其它机器能承受的形式送出。7. 答:总线Bus就是计算机中用于传送信息的公用通道,是为多个部件效劳的一组信息传送连接线。依据总线的连接方式,计算机组成构造可以分为单总线构造、双总线构造 和多总线构造等具体内容见第 7 章。8. 答:计算机硬件Hardware是指构成计算机的全部实体部件的集合,通常这些部件由电路电子元件、机械等物理部件组成。计算机软件 Software是指能使计算机工作的程序和程序运行时所需要的数据,以及与这些程序和数据有关的文字说明和图表资料, 其中

5、文字说明和图表资料又称为文档。固件Firmware是一种介于传统的软件和硬件之间 的实体,功能上类似软件,但形态上又是硬件。微程序是计算机硬件和软件相结合的重要形 式。软件和硬件的规律等价含义:(1) 任何一个由软件所完成的操作也可以直接由硬件来实现(2) 任何一条由硬件所执行的指令也能用软件来完成在物理意义上软件和硬件是不等价的。9. 答:计算机软件可以分为系统软件和应用软件两大类。系统软件是指治理、监控和 维护计算机资源包括硬件和软件的软件。系统软件为计算机使用供给最根本的功能,但是并不针对某一特定应用领域。而应用软件则恰好相反,不同的应用软件依据用户和所效劳 的领域供给不同的功能。目前常

6、见的系统软件有操作系统、各种语言处理程序、数据库治理 系统以及各种效劳性程序等。举例:系统软件,如Windows,Linux 等;应用软件,如学生的学籍治理系统等。10. 答:程序设计语言一般分为机器语言、汇编语言和高级语言三类。机器语言是最底层的计算机语言。用机器语言编写的程序,计算机硬件可以直接识别。每一条机器指令都是 二进制形式的指令代码。汇编语言是为了便于理解与记忆,将机器语言用助记符号代替而形 成的一种语言。高级语言是从 50 年月中期开头逐步进展起来的面对问题的程序设计语言, 与具体的计算机硬件无关,其表达方式接近于被描述的问题,易为人们承受和把握。机器语言程序是直接针对计算机硬件

7、的,执行效率比较高,能充分发挥计算机的速度性 能。但是,用机器语言编写程序的难度比较大,简洁出错,而且程序的直观性比较差,也不简洁移植。汇编语言承受了助记符,比机器语言直观,简洁理解和记忆,用汇编语言编写的 程序也比机器语言程序易读、易检查、易修改。但需要汇编程序的支持。高级语言的显著特 点是独立于具体的计算机硬件,通用性和可移植性好,易于编程,但运行效率低。11. 答:计算机系统是一个由硬件、软件组成的多级层次构造,它通常由微程序级、一 般机器级、操作系统级、汇编语言级、高级语言级组成,每一级上都能制造程序设计,且得到下级的支持。12. 答:兼容Compatible是一个广泛的概念,包括软件

8、兼容、硬件兼容、系统兼容等。软件兼容存在以下两种状况:(1) 软件的向上兼容性这是指某档机原开发的软件可以不加修改便能在它的高档机上正确运行使用。(2) 软件的向下兼容性这是指某档机的软件可以不加修改便能在它的低档机上正 确运行使用。在这种状况下,软件向上兼容是不成问题的。在同一系列机内,不管高档机与低档机,全部机型上都能运行使用的软件,则是既能向上兼容又能向下兼容。硬件兼容是软件兼容的根底,系统兼容包括硬件兼容和软件问题。13. 答:算术规律运算部件ALU:Arithmetic Logic Unit,是运算器的核心组成,功能是完成算数和规律运算。“中心处理单元”CPU:Central Pro

9、cessing Unit包括运算器和掌握器,是计算机的信息处理的中心部件。存储器、运算器和掌握器在信息处理操作中起主要作用,是计算机硬件的主体局部,通常被称为“主机”。字长打算了计算机的运算精度、指令字长度、存储单元长度等,可以是8/16/32/64/128 位bit等。14. 答:是的,计算机硬件实体的 5 个根本组成局部缺一不行。15. 答:见本章 1.3.2 节。16. 答:多媒体技术是指能够同时猎取、处理 、编辑、存储和展现两个以上不同信息类型媒体的技术。计算机信息的形式可以是文字、声音、图形和图象等。17. 答:电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续的;

10、电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。18. 答:现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分的多级层次构造。第 0 级为硬件组成的实体。第 1 级是微程序级。这级的机器语言是微指令集,程序员用微指令编写的微程序一般是直接由硬件执行的。第 2 级是传统机器级。这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进展解释。第 3 级操作系统级。从操作系统的根本功能来看,一方面它要直接治理传统机器中的软硬件资源,另一方面它又是传统机器的延长。第 4 级是汇编语言级。这级的机器语言是汇编语言,完成汇编语言翻译的程序叫做汇编程序。第

11、5 级是高级语言级。这级的机器语言就是各种高级语言,通常用编译程序来完成高级语言翻译工作。第 6 级是应用语言级。这一级是为了使计算机满足某种用途而特地设计的,因此这一级语言就是各种面对问题的应用语言。19. 答:计算机系统的主要技术指标有:机器字长、数据通路宽度、主存储器容量和运算速度等。机器字长是指参与运算的数的根本位数,它是由加法器、存放器的位数打算的。数据通路宽度是指数据总线一次所能并行传送信息的位数。主存储器容量是指主存储器所能存储的全部信息。运算速度与机器的主频、执行什么样的操作、主存储器本身的速度等很多因素有关。第 2 章习题参考答案1. 1D2A2. 总线是微机系统之间、系统各

12、模块之间或模块内部以及芯片内部各局部之间用来传 送信息的公共信息通路,是计算机传送信息的一组导线,它将各局部连接成一个整体。总线 有多种分类方法,按总线在微机中所处的位置不同或按总线上信息传送的范围不同来看, 微机中包括片内总线、片间总线、系统内总线和系统外总线四级总线。在 8086/8088 微处理器中设置一些存放器,这些存放器可用来暂存参与运算的操作数和运算过程中的中间结果。其内部共有 14 个 16 位存放器,按功能可分为:通用存放器(8 个)、段存放器(4 个)、掌握存放器(2 个)三大类。共分两大局部,EU 是执行部件,主要的功能是执行指令。BIU 是总线接口部件, 与片外存储器及

13、I/O 接口电路传输数据。EU 经过 BIU 进展片外操作数的访问,BIU 为 EU 供给将要执行的指令。EU 与BIU 可分别独立工作,当EU 不需BIU 供给效劳时,BIU 可进展填充指令队列的操作。3. 指令队列是用来暂存指令的一组存放器,按“先进先出”原则读写。在 80868088CPU 中,只要指令队列没有填满,BIU 就从外部存储器取指令并放入指令队列中,另一方面,只要指令队列中不空,EU 就可将指令队列中已有的指令取出执行,这样EU 和 BIU 按并行方式重叠操作,大大提高了CPU 的利用率,也降低了CPU 对存储器、IO 端口存取速度的要求。4. 堆栈都是一种数据项按序排列的数

14、据构造,只能在一端(称为栈顶(top)对数据项进行插入和删除。要点有两个,堆:挨次随便;栈:后进先出(Last-In/First-Out)LIFO 堆栈, 也称为“下推栈”,从概念上讲,它是一般计算机操作中计算表达式和处理递归子程序调用时在临时存储器位置保存信息的最简洁的方法。堆栈指针 SP 就是指出栈顶在内部RAM 块中的位置,从它可以了解到存放断点或者现场的位置,压栈后SP+1,出栈后SP-1。8086CPU 中的指令队列缓冲器长度为 6 个字节,而 8088CPU 只有 4 个字节。5.8086 与 8088 的区分有三处:AD(1) 外部数据总线位数不同即地址数据分时复用引脚条数不同;

15、8086为16位:15AD0。8088为 8位:AD AD。(2) 内部指令队列缓冲器长度不同;8086有6个字节。当指令队列消灭2个空字节时,BIU 将取指补充。8088有4个字节。当指令队列消灭1个空字节时,BIU 将取指补充。(3) 外部某些掌握总线定义不同。 8086的28号引脚定义为 MIO(S2),8088定义为 IOM(S2) 8086的34号引脚定义为 BHES7,8088定义为 SS0(HIGH)(1) 当 CPU 访问存储器时, 要利用 ALE(地址锁存允许信号输出), (数据允许信号), (数据收发信号), (存储器/输入输出掌握信号输出), 读信号输出, (写信号输出)

16、, (高8位数据总线充许),NMI(非屏蔽中断输入引腿)。(2) 当 CPU 访问外设接口时,要利用当 CPU 访问存储器时,ALE(地址锁存允许信号输出),(数据允许信号) (数据收发信号), (存储器/输入输出掌握信号输出), 读信号输出, 写信号输出, 高8位数据总线充许, (中断响应信号输出)。(3) 当 HOLD 有效并得到响应时,CPU 使地址/数据总线和掌握状态线置高阻。706. 大小模式是打算CPU 寻址力量的,实模式最小模式只能寻 1M 吧,保护模式最大模式用G 来评价,而CPU 的地址总线的位数打算了这些。计算机上电后,机器状态字的 PE 位清 0,只有低 20 位地址线是

17、有效的,所以只有 1M 的空间,在程序的掌握下 CPU 进入保护模式其于的地址线才有效,就拿 32 位的 CPU 来说,2 的 32 次方这么大的空间是实模式不能比较的。第2 小问。全部的CPU 启动之后都在实模式下运行Win-xp 引导程序是 16 位程序的。这个时候就只有 1M 的内存只用,切换到保护模式也是由这个程序初始的。7. RQ/ GT0 和RQ/ GT1:总线保持恳求信号输入/总线恳求允许信号输出,双向、低电平有效。其含义与最小模式下 HOLD 和HLDA 两信号类同。但 HOLD 和HLDA 占用两个引脚,而RQ/ GT 只占用一个引脚。同时供给RQ/ GT0 和RQ/ GT1

18、 表示可同时连接两个协处理器,RQ/GT0 优先级高于RQ/ GT1。当某个外部处理机要占用总线时,就从RQ/ GT 引脚向 8086 输出一个负脉冲,提出访用总线的申请。假设8086 正好完成一个总线周期, 就会让出总线掌握权,并从同一条引脚向该处理机送出一个负脉冲,以示对方可以使用总线。8. 答:1CF=0, AF=1,ZF=0,SF=0,OF=0, PF=12CF=0, AF=0,ZF=0,SF=0,OF=0, PF=03CF=0, AF=0,ZF=0,SF=0,OF=0, PF=1 ;4CF=0, AF=0,ZF=1,SF=0,OF=0, PF=1其中进位标志CF 用于判别无符号数运算

19、是否超出数的表示范围,而溢出标志OF 用于判别带符号数运算是否超出数的表示范围;奇偶标志 PF 只能推断结果低八位中1的个数为奇数还是偶数。9. 答:规律地址是由两个 16 位的局部即段地址和偏移量组成,一般在程序中消灭的地址都表示为规律地址形式;物理地址是一个 20 位的地址,它是唯一能代表存储空间每个字节单元的地址,一般只消灭在地址总线上。由于 80868088CPU 中的存放器只有 16 位长,所以程序不能直接存放20 位的物理地址, 而必需借助规律地址,即用两个 16 位的存放器来表示物理地址。它们之间的关系是:物理地址=段地址*16+偏移量,另外,一个物理地址可以对应多个规律地址。1

20、0. 答:1数据段 021F0H-121EFH2附加段 0A320H-1A31FH3代码段 234E0H-334DFH11. 答:实际的物理地址=段基址*16+段内偏移地址那么CS=5200H,IP=9230,CS=7800 时,物理地址=7800H*16+9230=81230HCS 是段基址,段基址是每段的首地址物理地址为 5B230H=CS*16+IP12. 答:1存储器写AH-9100H0001H时为低电平信号:WR、7S BHE2存储器读9100H0000H-AL时为低电平信号:RD、RDT13. 答:MWTC(存储器写命令)和DEN(数据有效命令)信号应变为有效。14. 答:物理地址

21、:35000H35800H。入栈 10 个字节后 SP 为 7F6H。再出栈 6 个字节后 SP为 7FCH。15. 解:8086CPU 读/写总线周期包含 4 个时钟周期。当系统中所用的存储器或外设的工作速度较慢,从而不能用最根本的总线周期执行读 操作时,系统中就要用一个电路来产生READY 信号,READY 信号通过时钟发生器 8284A 传递给CPU。CPU 在 状态的前沿(下降沿处)对 READY 信号进展采样。假设 CPU 没有在 状态的一开头采样到READY 信号为高电平,那么,就会在 和 之间插入等待状态 。插入 的个数取决于CPU 接收到高电平READY 信号的时间。CPU 在

22、不执行总线周期时,总线接口部件就不和总线打交道,此时,进入总线空闲周期。16. 答:由于:物理地址=400A5H=段地址*16+偏移地址=40020H+偏移地址偏移地址=400A5+40020=85H从奇地址 400A5H 中读出:11H;从偶地址 400A6H 读出一个字:22H,33H; 从偶地址 400A8H 读出一个字:44H,55H; 从偶地址 400AAH 中读出:66H。共读 4 次。17. 答:14800 150A1150A2150A3150A4150A5 数据段首地址数据段段地址=150AH,偏移地址=0004H。CPU 的总线接口部件依据数据段存放器的内容150AH,左移

23、4 位,在加上偏移地址 0004H,形成 20 位物理地址 150A4H,由总线接口送出,选中物理存储单元 150A4H、150A5H,数据 0DH 通过数据总线送入 150A4H,数据 0AH 通过数据总线送入 150A4H。18. 解:地址锁存器用来锁存 8086 输出的地址信号。8086 的地址输出和数据输出公用引脚承受分时输出,它先输出地址后输出数据,所以需要地址锁存器。第 3 章习题参考答案1. 答:略2. 解:1453. 1B2D3B4C5C6B7C8D9B10A4. 答:请参考本章指令系统的要求有关描述。5. 解:设 1 地址指令有X 条二地址指令的构造是4 位操作码OP,6 位

24、地址码A1,6 位地址码A2。一地指指令的构造是10 位操作码OP,6 位地址码A。假设全做二地址指令一地址指令、无地址指令均为0 条,共 16 条二地址指令。每少一条二地址指令,则多 26 条一地址指令,以此类推,可得 24-N*26-X*26=M解之得:X=24-N*26-M*2-66. 解:不能。7. 解:可以,具体方案:(1) 、4 条三地址指令OP 三位三地址指令组 4 条000001010011(2) 、255 条一地址指令111作为扩展OP 九位单地址指令组 255 条111000000111000001. 111111110(3、16 条无地址指令 (111111111)作为扩

25、展OP 十六位零地址指令 16 条111111110000. 1111111111118. 答:存放器寻址;存放器间址;马上数寻址;变址寻址、基址寻址、相对寻址。9. 答:指令是敏捷多变的,主要表达在以下几个方面:指令格式多样;寻址方式丰富;指令类型多种;操作码位数可随地址码个数变化而变化扩展操作码方式;指令长度可变等。10. 答:基址寻址方式和变址寻址方式,在形式上是类似的。但用户可使用变址寻址方式编写程序,而基址寻址方式中对于基址存放器,用户程序无权操作和修改,由系统软件管 理掌握程序使用特权指令来治理的。再者基址寻址方式主要用以解决程序在存储器中的定位 和扩大寻址空间等问题。11. 答:

26、(1) 堆栈的概念 是假设干个存储单元(或存放器)的有序集合,它挨次地存放一组元素。 数据的存取都只能在栈顶单元内进展,即数据的进栈与出栈都只能经过栈顶单元这个“出入口”。 堆栈中的数据承受“先进后出”或“后进先出”的存取工作方式。(2) 堆栈构造在计算机中的作用 具有堆栈构造的机器使用零地址指令,这不仅合指令长度短,指令构造简洁,机器硬件简化。 实现程序调用,子程序嵌套调用和递归调用。 对于“中断”技术,堆栈更是不行缺少的,保存“断点”和“现场”。(3) 堆栈的操作设数据进栈方向为从高地址向低地址进展,当向堆栈压入数据时,SP 的内容先自动递减而指向一个的空栈顶单元,再把数据写入此栈顶单元;

27、当数据弹出堆栈时,马上读出 SP 所指向的栈顶单元内容,再把SP 内容自动递增而指向的栈顶位置。即PUSHX; (SP)-1SP(X)(SP)POPX; (SP)X (SP)+1SP12. 答:(1) 双字长二地址指令,用于访问存储器;(2) 操作码字段OP 为六位,可以指定 64 种操作;(3) 一个操作数在源存放器共 16 个,另一个操作数在存储器中由基址存放器和位移量打算。13. 答:指令长度与机器字长没有固定关系,指令长度可以等于机器字长,也可以大于或小于机器字长。通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的

28、指令称为双字长指令。14. 答:4 条三地址指令000 XXX YYY ZZZ000 XXX YYY ZZZ8 条二地址指令100 000 XXX YYY100 111 XXX YYY180 条单地址指令101 000 000 XXX101 110 011 XXX15. 答:主存容量越大,所需的地址码位数就越大。对于一样容量来说,最小寻址单位越小,地址码的位数就越长。16. 答:解:条指令需占用操作码字段 位,这样指令字下余长度为位。为了掩盖主存的地址空间,设寻址模式位 位,形式地址 位,其指令格式如下:寻址模式定义如下: 直接寻址 有效地址 单元 间接寻址 有效地址 变址寻址 有效地址 相对

29、寻址 有效地址 其中,R 为 16 位的变址存放器,PC 为 16 位的程序计数器。在变址和相对寻址时,位移量D 可正可负。17. 答:(1) 返回指令通常为零地址指令。返回地址保存在堆栈中,执行返回指令时自动从堆栈中弹出。而且前返回地址是保存在子程序的第一个单元中,故此时指令不能再是零地址指令了,而应当是地址指令。(2) 在这种状况下,可利用存放器或主存单元进展主、子程序间的参数传递。(3) 可以用于子程序的嵌套多重转子。由于每个返回地址都放在调用的子程序的 第一个单元中。(4) 不行以用于子程序的递归,由于当某个子程序自己调用自己时,子程序第一个单元的内容将被破坏。(5) 假设改用堆栈方法

30、,可以实现子程序的递归,因堆栈具有后进先出的功能。18. 答:1地址码域=14 位,214=16384 操作码域=7 位指令字长度=14+7+3=24 位(2) 此时指定的通用存放器用作基址存放器12 位,但 12 位长度缺乏以掩盖 16K 地址空间,为此可将通用存放器内容12 位左移 2 位低位补 0 形成 14 位基地址,然后与形式地址相加得一地址,该地址可访问主存16K 地址空间中的任一单元。(3) 可承受间接寻址方式来解决这一问题,由于不允许转变硬件构造。19. 答:(1) 直接寻址,操作数在有效地址E=D 的存储单元中。(2) 相对寻址。(3) 变址寻址,操作数在E=RX+ D 的存

31、储单元中。(4) 存放器间接寻址,通用存放器的内容指明操作数在主存中的地址。(5) 间接寻址,用偏移量做地址访问主存得到操作数的地址指示器,再按地址指示器访问主存的操作数,因此间接寻址需两次访问主存。b(6) 基值寻址,操作数在E=R + D 的存储单元中。20. 答:(1) 承受 16 位字长的指令,优点是节约硬件包括CPU 中的通用存放器组、ALU、主存储器与MDR,缺点是指令字长较短,操作码字段不会很长,所以指令条数受到限制。另一方面,为了在有限的字段内确定操作数地址,可能要承受较简单的寻址方式,从而使指 令执行的速度降低,当承受 24 位字长的指令构造时,其优缺点正好相反。具体讲,按所

32、给条件,16 位字长的指令格式方案如以下图所示:图 16 位字长指令格式11其中OP 字段可指定 64 条指令。X 为寻址模式,与 R 通用存放器组一起,形成一个操作数。具体定义如下:11iX =00,存放器直接寻址, E=R11iX =01,存放器间接寻址, E=R 1X =10,基地址方式 0,E= R X =11,基地址方式 1,E= R+R b0+R1i1b11ib0b1其中R,R分别为两个 20 位的基地址存放器。24 位字长指令格式方案如以下图所示:图24 位字长指令格式121212其中 OP 占 6 位,64 位条指令。X 、X 分别为两组寻址模式,分别与R 和 R 通用存放器组

33、组成双操作数字段。由于X 、X 各占 3 位,可指定 8 种寻址方式,其指令格式构造类似于PDP-11 机双操作数指令格式。比较两种方案,从性能价格比衡量,16 位字长指令的方案较优。(2) 假设选用 24 位的指令字长,基地址存放器没有必要保存。由于通用存放器长度为24 位,足以掩盖 1M 字的空间。21. 答:由条件,机器字长 16 位,主存容量 128KB/16b = 64K 字,因此 MAR=18 位,共 128 条指令,故OP 字段占 7 位。承受单字长和双字长两种指令格式,其中单字长指令用于算术规律和I/O 指令,双字长用于访问主存的指令。如以下图所示。图 计算机指令格式寻址方式由

34、寻址模式X 定义如下: X=00直接寻址 E=D64K X=01马上数D=操作数bbX=10相对寻址 E=PC+DPC=16 位X=11基值寻址 E=R +DR =16 位22. 字长为 8 位的两数相减,其可表示数的范围为:带符号数12812780H7FH,无符号数 02550FFH。运算结果超出可表示数范围即为溢出,说明结果错误。1 C8H66H=62H1100 10001100 1000条件码设置:CF=0 0110 0110+ 1001 1010OF=10110 00101 0110 0010说明:假设是无符号数的运算,被减数够减无借位,所以CF 置 0,说明结果有效。假设操作数是带符

35、号数,且被减数与减数符号相反,而结果符号与减数符号一样,所以 OF 置 1, 说明结果无效。2 54H-76H=0DEH0101 01000101 0100条件码设置:CF=1 0111 0110+ 1000 1010OF=01101 11101101 1110说明:假设是无符号数的运算,本例中被减数减数,减运算向高位有借位或加运算无进位,则 CF 置 1,说明结果无效。假设是带符号数的运算,同符号数相减,OF 置 0,结果有效。(3) 4BH0B6H=0DEH0100 10110100 1011条件码设置:CF=1 1011 0110+ 0100 1010OF=11001 01011001

36、0101说明:假设是无符号数的运算,本例中被减数减数,减运算向高位有借位或加运算无 进位,则CF 置 1,说明结果无效。假设是带符号数的运算,不同符号数相减,且结果符号与减数符号一样,OF 置 1,结果也是无效的。23. (BL)=0A9H,试给出分别用规律左移和右移指令移动1 位后,存放器BL 的内容。解:用算术左移和右移指令移动 1 位后,存放器AH 和 BL 的结果如下表所示。操作数的初值执行的指令执行后操作数的内容(BL)=0A9HSHLBL, 1(BL)=52H(BL)=0A9HSHRBL, 1(BL)=54H24. (BL)=0A9H, 试给出分别用算术左移和右移指令移动 1 位后

37、, 存放器 BL的内容。解: 用算术左移和右移指令移动 1 位后, 存放器 AH 和 BL 的结果如下表所示。操作数的初值(BL)=0A9H (BL)=0A9H执行的指令SALBL, 1SARBL, 1执行后操作数的内容(BL)=52H (BL)=0D4H25.(AX)= 0012H,(BX)= 0034H,把它们装配成(AX)= 1234H。MOVCL, 8ROLAX, CL ADDAX, BX26.(BX) = 84F0H(1) (BX) 为无符号数,求 (BX) / 2 SHRBX, 1; (BX) = 4278H(2) (BX) 为带符号数,求 (BX) 2SALBX, 1; (BX)

38、 = 09E0H, OF=1(3) (BX) 为带符号数,求 (BX) / 4 MOVCL,2SARBX, CL; (BX) = 0E13CH(4) 把 (BX) 中的 16 位数每 4 位压入堆栈27. 比较 DEST 和 SOURCE 中的 500 个字节,找出第一个不一样的字节,假设找到,则将SOURCE 中的这个数送AL 中。CLDLEADI,ES:DEST LEASI,SOURCE MOVCX,500REPECMPSBJCXZNEXT MATCH:DECSIMOVAL,BYTE PTRSINEXT:28. 补全以下循环移位执行结果。循环移位指令指令操作数的初值指令执行后的结果ROLA

39、X, 1(AX)=6789H(AX)=0CF12HROLAX, 3(AX)=6789H(AX)=3C4BHRORAX, 2(AX)=6789H(AX)=59E2HRORAX, 4(AX)=6789H(AX)=9678H29. 补全以下带进位循环移位指令的执行结果。 双精度移动指令 指令操作数的初值指令执行后的结果RCLAX, 1RCLAX, 1RCRAX, 2RCRAX, 2CF=0,(AX)=0ABCDH CF=1,(AX)=0ABCDH CF=0,(AX)=0ABCDH CF=1,(AX)=0ABCDH(AX)=579AH (AX)=579BH (AX)=AAF3H (AX)=EAF3H3

40、0. 假设程序进展两个带符号数的比较,并依据比较结果转移,其中(AL)=80H,(BL)=01, 请指出下面两组指令能否实现转向。 CMP AL,BL CMP AL,BL JL XYJB XY答: 转向目标地址XY;不能实现转移。执行CMP 指令时,(AL)(BL)=8001=7F,条件码设置为:SF=0,OF=1,CF=0。执行 JL 指令时,测试转移条件:SFOF = 0 1 =1,说明满足(AL)(BL)的转移条件,因此, (IP)XY 的偏移地址,程序即转移到XY 单元执行的指令。JB 指令的转移条件为CF=1,而 CMP 的执行结果使CF=0,所以不能引起转移。第 4 章习题参考答案

41、1. 以下语句在存储器中分别为变量安排多少字节空间?并画出存储空间的安排图。VAR1DB10,2VAR2DW5DUP?,0VAR3DBHOWAREYOU?,$ VAR4DD-1,1,02. 假定 VAR1 和 VAR2 为字变量,LAB 为标号,试指出以下指令的错误之处。1ADDVAR1,VAR22SUBAL,VAR13JMPLABSI4JNZVAR13. 对于下面的符号定义,指出以下指令的错误。A1DB ?A2DB 10K1EQU10241MOVK1,AX2MOVA1,AX3CMPA1,A24K1EQU20484. 数据定义语句如下所示:FIRSTDB90H,5FH,6EH,69H SECO

42、ND DB5 DUP(?)THIRDDB5 DUP(?) FORTHDB5 DUP(?)自 FIRST 单元开头存放的是一个四字节的十六进制数(低位字节在前),要求:(1) 编一段程序将这个数左移两位、右移两位后存放到自SECOND 开头的单元(留意保存移出局部)。(2) 编一段程序将这个数求补以后存放到自FORTH 开头的单元。5. 试编程序将内存从 40000H 到 4BFFFH 的每个单元中均写入 55H,并再逐个单元读出比较,看写入的与读出的是否全都。假设全对,则将 AL 置 7EH;只要有错,则将 AL 置 81H。6. 在当前数据段 4000H 开头的 128 个单元中存放一组数据

43、,试编程序将它们挨次搬移到 A000H 开头的挨次 128 个单元中,并将两个数据块逐个单元进展此较;假设有错将BL 置 00H;全对则将BL 置 FFH,试编程序。7. 将内存中某一区域的原数据块传送到另一区域中。分析 这种程序假设源数据块与目的数据块之间地址没有重叠,则可直接用传送或串操作实现; 假设地址重叠,则要先推断源地址+数据块长度是否小于目的地址,假设是,则可按增量方式进 行,否则要修改指针指向数据块底部,承受减量方式传送。程序如下:DATASEGMENTSTRDB 1000DUP?STR1EQUSTR+7STR2EQUSTR+25 STRCOUNTEQU50DATAENDSSTA

44、CKSEGMENT PARASTACKSTACKSTAPNDB100DUP?STACK CODEGOOOK:GOO CODEENDS SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKPROC PUSHDSSUBAX,AXPUSHAXMOVAX,DATA MOVDS,AXMOVES,AX MOVAX,STACK MOVSS,AXMOVCX,STRCOUNT MOVSI,STR1MOVDI,STR2 CLDPUSHSIADDSI,STRCOUNT-1 CMPSI,DIPOPSIJLOKSTDADD SI,STRCOUNT-1 ADD DI,STRCOUNT-1 REP MOVSBRET ENDP ENDSENDGOO8. 内存中TABLE 开头存放 09 的平方值,通过人机对话,当任给定一个数 x(09), 查表得X 的平方值,放在AL 中,并将结果显示到屏幕。.MODELSMALL.386.STACK 100H.DATATABLE DB0,1,4,9,16,25,36,49,64,81BUFDB ”Please input one number(09):”,0DH,0AH,”$”.CODE;按十进制形式DISPBXD PROC NEARMOV SI,10 XOR CX,CX MOV AX

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁