微机原理与接口习题_第1页
微机原理与接口习题_第2页
微机原理与接口习题_第3页
微机原理与接口习题_第4页
微机原理与接口习题_第5页
免费预览已结束,剩余11页可下载查看

下载本文档

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

文档简介

1、第 1 章习题1 、冯诺依曼计算机的内涵是什么这种计算机的程序运行是由指令流驱动的还是数据流驱动的2、微型计算机系统有哪三个层次试简述它们的内涵及其联系和区别。3、为什么把微型计算机的基本结构说成是总线结构试简述总线结构的优点。4、微型计算机硬件系统由哪些部分组成各组成部分的功能是什么5、计算机分那几类各有什么特点6、微处理器应包含的最基本功能部件是哪些7、微计算机应包含的最基本功能部件是哪些8、微型计算机系统有哪几部分组成,简述各部分功能特点9 、 一个完整的计算机系统通常包括系统软件和应用软件、 硬件系统和软件系统、 计算机及其外部设备、 系统硬件和系统软件这四种组合中的哪一种第 1 章习

2、题解答1 、冯诺依曼计算机的内涵是什么这种计算机程序运行是由指令流驱动的还是数据流驱动的答:冯诺依曼计算机的内涵:由运算器、控制器、存储器、输入设备、输出设备 5 大部分组成计算机硬件。数据和计算机指令采用二进制数形式表示,存储在计算机内部存储器中。计算机工作原理的核心是“存储程序”和“程序控制” 。事先编制好的由计算机指令组成的程序在执行前先装入存储器,控制器依据程序中的指令顺序周而复始地取出指令、 分析指令、 执行指令,根据指令的功能进行相应的运算,直到完成全部指令操作为止.程序的运行是通过指令流来驱动的。2、微型计算机系统有哪三个层次试简述它们的内涵及其联系和区别。答:微型计算机系统的三

3、个层次:微处理器、微型计算机和微型计算机系统。三者的内涵:微处理器是利用大规模集成电路技术, 将组成计算机的核心部件运算器和控制器集成在一块硅片上的集成电路,简称 MPU习惯上称CPU微型计算机则是以微处理器为核心,配以内存储器、输入 / 输出( I/O )接口电路,通过总线结构连接而构成的裸机。微型计算机系统是由微型计算机配以相应的外围设备(如键盘、显示器、打印机、外存储器等) 、 电源和其他辅助设备( 如面板、机架等) ,以及控制微型计算机工作的软件而构成的完整的计算系统。它们三者之间是从局部到全局的关系。 单纯的微处理器和单纯的微型计算机都不能独立工作。 只有 微型计算机系统才是完整的计

4、算系统,才可正常工作。3、为什么把微型计算机的基本结构说成是总线结构试简述总线结构的优点。答:在微型计算机中,各组成部分之间是通过总线(包括地址总线、数据总线、控制总线)连接在一起而构成一个整体的,它们之间的信息交换也是通过总线进行。CPU!过总线与存储器和I/O接口电路连接,I/O接口和外设也是通过总线连接,即使在 CPU内部,它的各功能部件也是通过总线相连的。因此 微型计算机的基本结构就是总线结构。微型计算机采用总线结构后,系统中各功能部件之间的相互关系变为各部件面向总线的单一关系。一个部件只要满足总线标准, 就可直接连接到采用这种总线标准的系统中。 这使得系统的设计与构造非常方便,同时也

5、便于系统的扩充、升级和维修。4、微型计算机硬件系统由哪些部分组成各组成部分的功能是什么答:微型计算机硬件系统主要由CPU存储器、I/O接口电路、输入/输出设备、总线,以及电源和一些辅助设备构成。CPU :微机系统的核心部件,是运算和指挥控制中心。存储器:包括内存和外存,是微机系统的存储和记忆部件,用以存放数据和程序。I/O 接口电路:CPU输入/输出设备的连接与信息交换不能直接进行,I/O接口电路充当了二者之间的“桥梁” 。输入 / 输出设备:计算机与外界(人或其他设备,包括另一台计算机)联系和沟通的桥梁,用户通过输入 / 输出设备与微机系统互相通信。总线: 以上各组成部分是通过总线连接在一起

6、构成一个整体的, 各部件之间的信息运载和传输由总线承担。5、计算机分那几类各有什么特点答:传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的并行处理系统, 存储容量大, 事物处理能力强, 可为众多用户提供服务。 小型机具有一定的数据处理能力,提供一定用户规模的信息服务, 作为部门的信息服务中心。 微型机一般指在办公室或家庭的桌面或可移动的计算系统, 体积小、价格低、具有工业化标准体系结构,兼容性好。6、微处理器应包含的最基本功能部件是哪些答 : 算术逻辑单元 , 寄存器阵列 , 控制器部件。7、微计算机应包含的最基本功能部件是哪些答 : 微处理器 , 内存储器 , 外围接口电路,

7、 系统总线。8、微型计算机系统有哪几部分组成,简述各部分功能特点答:运算器、控制器、存储器、输入输出设备及其接口电路。9 、 一个完整的计算机系统通常包括系统软件和应用软件、 硬件系统和软件系统、 计算机及 其外部设备、系统硬件和系统软件这四种组合中的哪一种答:硬件系统和软件系统。10、通常我们所说的32位机,指的是这种计算机CP虚什么样的答:总线的数据宽度为 32 位。第 2 章习题1、8086/8088的CPU由哪两部分组成它们的主要功能各是什么2 、 8086/8088 CPU 中有哪些寄存器其主要作用是什么3 、状态标志和控制标志有何不同8086/8088 的状态标志和控制标志有哪些4

8、 、 8086/8088 系统中存储器的逻辑地址和物理地址之间有什么关系写出存储器地址:5 、什么是引脚的分时复用请说出8086/8088CPU 有哪些引脚是分时复用引脚其要解决的问题是什么6、若8086CPU工作于最小模式,试指出当CPUlg成将AH的内容送到物理地址为91001H的存储单元操作时,以下哪些信号应为低电平:M/ IO、RD WR BHE/S7、DT/R。若CPU完成的是将物理地址91000H单元的内容送到 AL 中,则上述哪些信号应为低电平。7 、什么是指令周期什么是总线周期什么是时钟周期它们之间的关系如何8086/8088 CPU 读 / 写总线周期各包含多少个时钟周期什么

9、情况下需要插入Tw周期应插入多少个Tw取决于什么因素8 、 8086 在结构上引入的最重要概念是什么以后从8086 到 80286, 到 80386, 到 80486, 直到 Pentium4 ,每更新一代CPU主要有什么改进9 、 8086 是多少位的微处理器为什么10、EU与BIU各自的功能是什么如何协同工作11 、 8086/8088 与其前一代微处理器8085 相比,内部操作有什么改进12 、 8086/8088 微处理器内部有那些寄存器,它们的主要作用是什么13 、 8086 对存储器的管理为什么采用分段的办法14 、在8086 中,逻辑地址、偏移地址、物理地址分别指的是什么具体说明

10、。15、给定一个存放数据的内存单元的偏移地址是20C0H (DS) =0C00EH求出该内存单元的物理地址。16 、 8086/8088 为什么采用地址 / 数据引线复用技术17 、 8086 与 8088 的主要区别是什么第 2 章习题解答1、8086/8088的CPU由哪两部分组成它们的主要功能各是什么答:由总线接口部件 BIU和执行部件EU组成。BIU主要负责CPU内部与存储器和I/O接口之间的信息传送,包括取指令、传送EU执行指令过程中需要的操作数和 EU的执行结果。EU 则主要负责分析和执行指令,并产生相应的控制信号。2 、 8086/8088 CPU 中有哪些寄存器其主要作用是什么

11、答: 1) 8 个通用寄存器:AX、BX CX DX:暂存运算过程中的操作数、计算结果和其他信息。BP、SR SI、DI:主要用于访问内存时提供16位偏移地址。BR SI、DI也可用于暂存运算过程中的操作数。2 ) 4 个段寄存器:CS、DS SS ES:专门用于存放段地址。3 ) IP :存放代码段中指令的偏移地址。在程序执行过程中,它始终指向下一条要执行的指令,从而控制着程序的执行流程。4 )标志寄存器FLAGS记录CPU的工作状态。3 、状态标志和控制标志有何不同8086/8088 的状态标志和控制标志有哪些答:8086/8088的状态标志有 6个:CF、AF、SF、PF、OF、ZF,控

12、制标志有 3个:TF、DR IF。状态标志用于表示执行某种操作后ALU所处的状态,例如运算结果是否有溢出、最高位是否有进位等, 这些状态是执行指令操作后自动设置的; 而控制标志是人为设置的, 每个控制标志将对某种特定的功能起控制作用,例如 IF控制着CPU是否响应外设申请的可屏蔽中断请求。4 、 8086/8088 系统中存储器的逻辑地址和物理地址之间有什么关系写出存储器地址:3FB0H: 0053H 的段地址、偏移地址和物理地址。答: 8086 系统中,逻辑地址由段地址和段内偏移地址构成,是用户编写程序时所用的地址。物理地址则是CPUW内存交换数据时所使用的地址。CPUte执行存储在内存中的

13、程序时,需要将逻辑地址转换为物理地址:物理地址=段地址X16+段内偏移地址。存储器地址3FB0H : 0053H段地址: 3FB0H 偏移地址: 0053H 物理地址: 3FB53H5 、什么是引脚的分时复用请说出8086/8088CPU 有哪些引脚是分时复用引脚其要解决的问题是什么答:引脚的分时复用指的是同一引脚在同一总线周期的不同状态(时钟周期)内功能不同,例如地址 /数据引脚在总线周期的 T1 态作为地址总线使用,而在其他状态则作数据总线使用。8086CPU 的分时复用引脚有:AD0-AD15 :地址 /数据引脚A19/S6-A16/S3 :地址 / 状态引脚BHE/S7 :高 8位数据

14、总线允许/ 状态引脚引脚复用技术主要是解决8086CPU封装芯片引脚数目受限制,引脚比较紧张而采取的措施。6、若8086CPU工作于最小模式,试指出当CPUHg成将AH的内容送到物理地址为91001H的存储单元操作时,以下哪些信号应为低电平:M/ IO、RD WR BHE/S7、DT/R。若CPU完成的是将物理地址 91000H单元的内容送到AL 中,则上述哪些信号应为低电平。答:当CPU完成将AH的内容送到物理地址为 91001H的存储单元操作时, CPU执行的是将 AH中的一个 字节写入内存奇地址单元(91001H)的操作,此时 M/IO=1 (CPU问内存),RD=1, WR= 0 (写

15、操作), BHE/S7= 0 (选中奇地址单元,数据通过高 8位数据总线传送,BHE=0, DT/R=1 (写操作)。若CPU完成的是将物理地址为91001H的存储单元的内容送到AL中,CPU行的是从内存偶地址单元(91000H)读取一个字节送入 AL的操作,此时M/IO=1 (CPUB问内存),RD=0读操作),WR= 1, BHE/S7 =1 (选中偶地址单元,数据通过低 8位数据总线传送,BHE=1 A0= 0), DT/R=0 (读操作)。7 、什么是指令周期什么是总线周期什么是时钟周期它们之间的关系如何8086/8088 CPU 读 / 写总线周期各包含多少个时钟周期什么情况下需要插

16、入Tw周期应插入多少个Tw取决于什么因素答: 指令周期: 一条指令从其代码被从内存单元中取出到其所规定的操作执行完毕, 所用的时间称为相 令的指令周期。总线周期: CPU 通过总线与内存或I/O 端口之间,进行一个字节数据交换所进行的操作,称为一次总线操作,相应于某个总线操作的时间即为总线周期。时钟周期: 微机系统工作的最小时间单位, 它取决于系统的主频率, 系统完成任何操作所需要的时间均是时钟周期的整数倍。对以上三个概念分析后可知, 指令周期应包含若干个总线周期, 因为指令周期中进行的取指令、 读/ 写内存或 I/O 端口操作都需要执行总线周期。而总线周期又包含若干时钟周期。一个基本的 80

17、86 读写总线周期通常包含 4 个时钟周期: T1 态、 T2 态、 T3 态、 T4 态。T1 态:CPUB出地址信息,指示所要读写的内存单元或I/O端口的地址。T2态-T4态:CPU写内存单元或I/O 端口。如果系统中的内存或I/O端口读写速度较慢,不能及时进行数据传送,CPUW检测到READ帘唧为低电平,此时CPU要在T3态之后插入一个或若干个TW等待周期。插入多少个TW取决于READ帘|脚何时变为高电平,一旦CPU佥测到READ帘|脚变为高电平,便会马上脱离TW进入T4态。8 、 8086 在结构上引入的最重要概念是什么以后从8086 到 80286, 到 80386, 到 80486

18、, 直到 Pentium4 ,每更新一代CPU主要有什么改进答:8086CPU&结构上引进的两个主要概念是:指令流水线和存储器分段管理。从8086到Pentium4 ,每更新一代 CPU主要的改进有:80286 :指令流水线级数由 8086 的两级提高至4 级,提高了数据的吞吐率;引进虚拟存储器概念, 把外存当内存用, 扩大了软件可使用的存储空间, 解决了内存容量不足的问题;CPU 的工作方式演变出两种: 实方式和保护方式。 在保护方式下80286 可支持多任务多用户操作。80386 :CPU芯片封装开始采用 PGA封装,以适应高频率环境;CPU增加一种新的工作方式:虚拟 8086 方

19、式。80486 :CPU 芯片开始采用通过相应的接口( Socket 插座)安装到主板上;芯片内部集成与 CPU®度相当的高速缓冲存储器,提高了系统的运行速度;首次采用RISC技术,可在一个时钟周期内执行一条指令;采用突发总线方式提高与内存的数据交换速度;引入倍频技术。Pentium :首次引进超标量结构,可在一个时钟周期内执行两条指令,极大地提高了程序的执行速度;采用双 Cache 结构;工作方式增加系统管理方式;采用分支预测技术。Pentium Pro :超标量结构增加至3级,流水线级数增至 14级,为设计和制造更高频率CPWiJ造了条件;引进动态执行技术,使程序执行效率更高。P

20、entium MMX :增加MMX(多媒体扩展技术)指令集,增强了 Pentium处理器在音像、图形和通信方面的能力。Pentium II :CPU封装改用SEC卡盒封装形式,提出了将 L2 Cache和CPU合在芯片内部的思想;采用双总线结构,L2 Cache能运行在更高频率上(CPU主频的一半)。Pentium III :新增加SSE指令集,进一步增强了CPU的音频、视频和三维处理能力,并大大优化网络功能;CPU 主频突破1GHz。Pentium 4:超标量流水线达到 30 多级,使 Pentium4 处理器可达到更高的频率;首次在台式处理器芯片中引入超线程技术;增力口 SSE2 SSE封

21、旨令集;CPU封装改用LGA封装形式。9 、 8086 是多少位的微处理器为什么答: 8086 是 16 位的微处理器,其内部数据通路为 16 位,对外的数据总线也是16 位。10、EU与BIU各自的功能是什么如何协同工作答:EU是执行部件,主要的功能是执行指令。 BIU是总线接口部件,与片外存储器及I/O接口电路传输 数据。EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行的指令。EU与BIU可分别独立工作, 当EU不需BIU提供服务时,BIU可进行填充指令队列的操作。11、 8086/8088 与其前一代微处理器8085 相比,内部操作有什么改进答:8085为8位机,在执行指令过

22、程中,取指令与执行执令都是串行的。8086/8088由于内部有EU和BIU 两个功能部件,可重叠操作,提高了处理器的性能。12 、 8086/8088 微处理器内部有那些寄存器,它们的主要作用是什么答:执行部件有 8个16位寄存器,AXBXCXDXSRBP、DI、SI。AXBX、CXDX一般作为通用数据寄存器。 SP 为堆栈指针存器,BP、 DI 、 SI 在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器 CS DS SS ES和指令指针寄存器IP。段寄存器存放段地址,与偏移地址共同形成 存储器的物理地址。IP的内容为下一条将要执行指令的偏移地址,与CS共同形成下一条指令的物理

23、地址。13 、 8086 对存储器的管理为什么采用分段的办法答: 8086 是一个 16 位的结构,采用分段管理办法可形成超过16 位的存储器物理地址,扩大对存储器的寻址范围(1MB, 20位地址)。若不用分段方法,16位地址只能寻址 64KB空间。14 、在8086 中,逻辑地址、偏移地址、物理地址分别指的是什么具体说明。答:逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成,如1234H: 0088H。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个 16位的二进制代码。物理地址是8086 芯片引线送出的 20 位地址码,用来指出一个特定的存储单元。15

24、、给定一个存放数据的内存单元的偏移地址是20C0H (DS) =0C00EH求出该内存单元的物理地址。答:物理地址: 320F8H。16 、 8086/8088 为什么采用地址 / 数据引线复用技术答:考虑到芯片成本, 8086/8088 采用 40 条引线的封装结构。 40 条引线引出 8086/8088 的所有信号是不够用的,采用地址 / 数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。17 、 8086 与 8088 的主要区别是什么答: 8086 有 16 条数据信号引线, 8088 只有 8 条; 8086 片内指令预取缓冲器深

25、度为 6 字节, 8088 只有 4 字节。第 3 章习题解答1、试比较静态 RA丽动态RAM勺优缺点,它们分别适用于哪些场合2、目前PC机中常用的 SDRAM DDR SDRAMDDR2 SDRAM存提高速度的机理是什么3、什么是高速缓冲存储器在微机系统中使用高速缓冲存储器的作用是什么4、存储器体系为什么采用分级结构,主要用于解决存储器中存在的哪些问题5、什么是虚拟存储器它的作用是什么6、微处理器内部结构由哪几部分组成阐述各部分的主要功能。7、为什么地址总线是单向的,而数据总线是双向的8、 如果某微处理器有20 条地址总线和 16 条数据总线:( 1)假定存储器地址空间与I/O 地址空间是分

26、开的,则存储器地址空间有多大( 2)数据总线上传送的有符号整数的范围有多大9、从下列各数中减去4AE0H求出其结果及标志位CF、AF、SF、ZF、OF和PF的值:( 1) 1234H;( 2) 5D90H;( 3) 9090H;( 4) EA04H10 、写出下列存储器地址的段地址、偏移地址和物理地址:( 1 ) 2134: 10A0;( 2) 1FA0: 0A1F;( 3) 267A: B87611、如果在一个程序段开始执行之前,(CS) =0A7F0H, (IP) =2B40H,求该程序段的第一个字的物理地址。12、IBM PC有哪些寄存器可用来指示存储器的地址13、若(CS) = 520

27、0H时,物理转移地址为 5A238H,那么(CS)变成7800H时,物理转移地址为多少14、将下列两组的词汇和说明关联起来:( 1 ) CPU;A 保存当前栈顶地址的寄存器;( 2 ) EU;B 指示下一条要执行指令的地址;(3) 3) BIU;C 总线接口部件, 实现执行部件所需要的所有总线操作;(4) IP ;D 分析并控制指令执行的部件;(5) SRE .存储程序、数据等信息的记忆装置,PC机有RAMF口 ROM两种;F 以后进先出方式工作的存储器空间;( 6 )存储器;7)堆栈;8)指令;9)状态标志;( 10 )控制标志; (11 )段寄存器; ( 12 )物理地址; ( 13 )汇

28、编语言; ( 14 )机器语言;CF;( 15 )汇编程序;( 16 )连接程序;( 17 )目标码;( 18 )伪指令G.把汇编语言程序翻译成机器语言程序的系统程序;H 惟一代表存储器空间中的每个字节单元的地址;I 能被计算机直接识别的语言;J 用指令的助记符、符号地址、标号等符号书写程序的语言;K 把若干个模块连接起来成为可执行文件的系统程序;L 保存各逻辑段的起始地址的寄存器;M.控制操作的标志,PC机有三位:DF、IF、TF;N.记录指令操作结果的标志,PC机有六位:OR SF、ZF、AF、PF、O.执行部件,由算术逻辑单元( ALU和寄存器组等组成;P 由汇编程序在汇编过程中执行的指

29、令;Q.告诉CPUM执行的操作,在程序运行时执行;R 机器语言代码。15、有一块120个字的存储区域,其起始地址为625A: 234D,写出这个存储区域首末单元的物理地址。16、两个十六进制数 7825H和5A1FH分另1J相力口和相减后,求运算结果及各标志位的值。17、在8088/8086中,逻辑地址 FFFF : 0001,00A2 : 37F和B800 : 173F的物理地址分别是多少18、在8088/8086中,从物理地址388H开始顺序存放下列三个双字节的数据,651AH, D761H和007BH请问物理地址 388H, 389H, 38AH, 38BH, 38CH 和 38DH 6

30、 个单元中分别是什么数据第 4 章习题1. 根据下列要求编写一个汇编语言程序:( 1)代码段的段名为COD_SG( 2)数据段的段名为DAT_SG( 3)堆栈段的段名为STK_SG(4)变量HIGH_DA所包含的数据为95(5)将变量 HIGH_DA磔入寄存器 AH, BH和DL( 6)程序运行的入口地址为START2. 指出下列程序中的错误:STAKSG SEGMENT DB 100 DUP() STA_SG ENDS DTSEG SEGMENT DATA1 DB DTSEG END CDSEG SEGMENT MAIN PROC FAR START: MOV DS,DATSEGMOV AL

31、,34HADD AL,4FH MOV DATA,AL START ENDP CDSEG ENDSEND3. 将下列文件类型填入空格:(1) .obj (2) .exe (3) .crf (4) .asm (5) .lst (6) .map编辑程序输出的文件有汇编程序输出的文件有连接程序输出的文件有4. 下列标号为什么是非法的(1) (2) 1_NUM (3) TEST-DATA (4) RET (5) NEW ITEM5.卜面的数据项定义了多少个字节DATA_1 DB 6 DUP(4 DUP(0FFH)6.对于下面两个数据段,偏移地址为DTSEGORGDATA1DTSEGSEGMENT 10H

32、DB 72HDB 04HENDS10H和11H的两个字节中的数据是一样的吗为什么DTSEG SEGMENTORG10H DATA1 DW 7204H DTSEG ENDS7.8.卜面的数据项设置了多少个字节(1) ASC_DATA DB '1234'执行下列指令后,AX寄存器中的内容是什么(2) HEX_DATA DB 1234HTABLEENTRYDW 10,20,30,40,50DW 3MOV ADD MOVBX,OFFSET TABLEBX,ENTRYAX,BX9.指出下列指令的错误:(1) MOV AH,BX(4) MOV AX,BXBP(7) MOV AX,OFFSE

33、T SI(2) MOV SI,BX(5) MOV BX,ES:AX(8) MOV CS,AX(3) MOV AX,SIDI(6) MOV BYTE PTRBX,1000(9) MOV DS,BP10.DATASEGMENTTABLEADDR DW 1234HDATAENDSMOVLEABX, TABLE_ADDRBX, TABLE_ADDR11.请写出上述两条指令执行后,BX寄存器中的内容。设(DS)=1B00H, (ES)=2B00H,有关存储器地址及其内容如右图所示,请用两条指令把X装入AX寄存器。(2)(4)12.变量 DATA*口 DATAYt义如下:DATAXDW0148HDW231

34、6HDATAYDW0237HDW4052H按下述要求写出指令序列DATA讶口 DATAY+珅。DATA用口 DATAY的两个字数据相加,和存放在DATA用口 DATAY的两个双字数据相加,和存放在DATAYFF始的字单元中。DATA用口 DATAYW个字数据相乘(用 MUL。DATA用口 DATAYW个双字数据相乘(用MUL。DATA瀚以 23 (用 DIV)。(6) DATAX字除以字 DATAY(用 DIV)。13. 试分析下面的程序段完成什么操作MOVCL,04SHLDX,CLMOVBL,AHSHLAX,CLSHRBL,CLORDL,BL14. 用其他指令完成和下列指令一样的功能:(1)

35、 REP MOVSB (2) REP LODSB (3) REP STOSB (4) REP SCASB15 .编写程序段,比较两个5字节的字符串 OLDS和NEWS,如果OLDS字符串与 NEW杯同,则执行 NEW_LESS,否则顺序执行程序。16 .假定AX和BX中的内容为带符号数,CX和DX中的内容为无符号数,请用比较指令和条件转移指令实现以下判断:(1)若DX的值超过CX的值,则转去执行 EXCEED(2) 若 BX 的值大于AX 的值, 则转去执行EXCEED(3) CX中的值为0吗若是则转去执行ZERO(4) BX 的值与AX 的值相减, 会产生溢出吗 若溢出则转OVERFLOW(

36、5) 若 BX 的值小于AX 的值, 则转去执行EQ_SMA(6) 若DX的值低于CX的值,则转去执行EQ_SMA17. 假如在程序的括号中分别填入指令:(1) LOOP L20(2) LOOPNE L20(3) LOOPE L20试说明在三种情况下,当程序执行完后,AX、BX CX DX四个寄存器的内容分别是什 么TITLECODESG SEGMENTCS:CODESG, DS:CODESG. SS:CODESG100HASSUMEORGBEGIN:MOVAX,01MOVBX,02MOVDX,03MOVCX,04L20:INCAXADDBX,AXSHRDX,1()RETCODESGENDSE

37、NDBEGIN18. 变量N1和N2均为2字节的非压缩 BCDa码,请写出计算 N1与N2之差的指令序列。19. 有两个3位的ASCII数串ASC1和ASC2定义如下: ASC1DB 578ASC2DB 694ASC3DB 0000请编写程序计算 ASC3- ASC1+ASC220. 假设 (CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0,(SI)=2060H,(DI)=3000H,(43000H)=0A006H,(23000H)=0B116H,(33000H)=0F80

38、2H,(25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容 , 若影响条件码请给出条件码SF、 ZF、 OF、 CF 的值。(1) SBB AX,BX(2) CMP AX,WORD PTRSI+0FA0H(3) MUL BYTE PTRBX(4) AAM(5) DIV BH(7) XOR AX,0FFE7H(9) JMP WORD PYRBX(6) SAR AX,CL(8) REP STOSB(10) XCHG AX,ES:BX+SI第 4 章习题解答1 . 根据下列要求编写一个汇编语言程序:(1)

39、 7)代码段的段名为COD_SG(2) 8)数据段的段名为DAT_SG(3) 9)堆栈段的段名为STK_SG(10) 变量HIGH_DATf包含的数据为 95(11) 将变量 HIGH_DA磔入寄存器 AH BH和DL(12) 12) 程序运行的入口地址为 START 答案 : DAT_SG SEGEMNTHIGH_DAT DB 95DAT_SG ENDS ;STK_SG SEGMENTDW 64 DUP()STK_SG ENDS ;COD_SG SEGMENTMAINPROC FARASSUME CS: COD_SG, DS: DAT_SG, SS: STK_SG START: MOV AX

40、, DAT-SGMOV DS, AXMOV AH, HIGH_DATMOV BH, AHMOV DL, AHMOV AH, 4CHINT 21HMAIN ENDPCOD_SG ENDSEND START2 . 指出下列程序中的错误:STAKSG SEGMENT DB 100 DUP()STA_SG ENDSDTSEG SEGMENTDATA1 DBDTSEG ENDCDSEG SEGMENTMAIN PROC FARSTART: MOV DS,DATSEGMOV AL,34HADD AL,4FH MOV DATA,ALSTART ENDPCDSEG ENDSEND答案: 改正后:STAKSG

41、SEGMENTDB100 DUP()STAKSG ENDSDTSEGSEGMENTDATA1DBDTSEGENDSCDSEG SEGMENTMAINPROC FARASSUME CS: CDSEG, DS: DTSEG, SS: STAKSGSTART:MOV AX, DTSEGMOV DS, AXMOV AL, 34HADD AL, 4FHMOV DATA1, ALMOV AH, 4CHINT 21HMAIN ENDPCDSEG ENDSEND START3 .将下列文件类型填入至格:(1) .obj (2) .exe (3) .crf (4) .asm (5) .lst (6) .map编

42、辑程序输出的文件有汇编程序输出的文件有连接程序输出的文件有答案:编辑程序输出文件:(4)汇编程序输出文件:(1),(3), (5)连接程序输出文件:(2), (6)4 .下列标号为什么是非法的(1) (2) 1_NUM (3) TEST-DATA (4) RET (5) NEW ITEM答案:非法标号:(1)因为.只允许是标号的第一个字符(2)第一个字符不能为数字(3)不允许出现-'(4)不能是彳留字,如助记符(5)不能有空格5 .下面的数据项定义了多少个字节DATA_1 DB 6 DUP(4 DUP(0FFH)答案:24 字节6.对于卜面两个数据段,偏移地址为10H和11H的两个字节

43、中的数据是一样的吗为什么DTSEGSEGMENT|DTSEG SEGMENTORG10H|ORG 10HDATA1DB 72H|DATA1 DW 7204HDB 04H|DTSEG ENDSDTSEGENDS|答案:不一样.分别是72H, 04H和04H, 72H.存储字时低8位存在低字节,高8位存在高字节7.下面的数据项设置了多少个字节(1) ASC_DATA DB '1234'(2) HEX_DATA DB 1234H答案:(1) 设置了 4个字节 (2) 设置了 2个字节8 .执行下列指令后,AX寄存器中的内容是什么TABLE DW 10,20,30,40,50ENTRY

44、 DW 3MOV ADD MOVBX,OFFSET TABLEBX,ENTRYAX,BX答案:(AX)=409 .指出下列指令的错误:(1) MOV AH,BX(4) MOV AX,BXBP(7) MOV AX,OFFSET SI(2) MOV SI,BX(5) MOV BX,ES:AX(8) MOV CS,AX(3) MOV AX,SIDI(6) MOV BYTE PTRBX,1000(9) MOV DS,BP答案: (2) (4) 源、目的字长不一致源、目的不能同时为存贮器寻址方式基址变址方式不能有 基址变址方式不能有 在8086寻址方式中,SI和DI的组合BX和BP的组合AX不能作为基址

45、寄存器使用,而且源、目的不能同时为存贮器寻址方式(6) 1000超出一个字节的表数范围(7) OFFSET只用于简单变量,应去掉(8) CS(9)10.不能作为目的寄存器段地址不能直接送入数据段寄存器DATASEGMENTTABLEADDR DW 1234HDATAENDSMOVBX, TABLE_ADDRLEABX, TABLE_ADDR请写出上述两条指令执行后,BX寄存器中的内容。答案:MOV BX,TABLE_ADDR;执行后(BX)=1234HLEA BX,TABLE_ADDR;执行后(BX)=OFFSET TABLE_ADDR11.设(DS)=1B00H, (ES)=2B00H,有关

46、存储器地址及其内容如右图II所示,请用两条指令把X装入AX寄存器。1B00:2000H8000H1B00:2002H2B00H.2B00:8000HX答案:LES BX, 2000HMOV AX, ES: BX12.变量 DATA*口 DATAYt义如下:DATAX DW 0148HDW2316HDATAY DW 0237HDW4052H按下述要求写出指令序列 : DATA用口 DATAY的两个字数据相加 ,和存放在 DATAYF口 DATAY+珅。(8) DATA用口 DATAY的两个双字数据相加,和存放在DATAYFF始的字单元中。(9) DATA涮DATAYW个字数据相乘(用 MUL。(

47、10) DATAXF口 DATAYM个双字数据相乘(用 MUL。(11) DATAX以 23 (用 DIV)。(12) DATAX字除以字 DATAY(用 DIV)。答案 :(1) MOV AX, DATAXADD AX, DATAYMOV BX, DATAX+2ADD BX, DATAY+2MOV DATAY, AXMOV DATAY+2, BX(2) MOV AX, DATAXADD DATAY, AXMOV AX, DATAX+2ADC DATAY+2, AX(3) MOV AX, DATAXMUL DATAYMOV DATAY,AXMOV DATAY+2,DX(4)MOV AX,WOR

48、D PTR DATAXMOV BX,WORD PTR DATAYMUL BXMOV RESULT,AXMOV RESULT+2,DXMOV AX,WORD PTR DATAXMOV AX,WORD PTR DATAY+2MUL BXADD RESULT+2,AXADC RESULT+4,DXMOV AX,WORD PTR DATAX+2MOV BX,WORD PTR DATAYMUL BXADD RESULT+2,AXADC RESULT+4,DXMOV AX,WORD PTR DATAX+2MOV BX,WORD PTR DATAY+2MUL BXADD RESULT+4,AXADC RES

49、ULT+6,DX(5) MOV AX, DATAXMOV BL, 23DIV BLMOV BL,AHMOV AH, 0MOV DATAY, AX ; 存放商MOV AL,BLMOV DATAY+2, AX ;存放余数(6) MOV AX, DATAXMOV DX, DATAX+2DIV DATAYMOV DATAY, AXMOV DATAY+2, DX13. 试分析下面的程序段完成什么操作MOV CL,04SHL DX,CLMOV BL,AHSHLAX,CLSHR BL,CLORDL,BL答案 :将 DX: AX 中的双字左移 4 位(乘16 )14. 用其他指令完成和下列指令一样的功能:(1

50、) REP MOVSB (2) REP LODSB (3) REP STOSB (4) REP SCASB答案 :(1) LOOP1:MOV AL,BYTE PTR SIMOV ES:BYTE PTR DI, ALINCSI或: DEC SIINCDI或: DEC DILOOP LOOP1(2) LOOP1:MOV AL, BYTE PTR SIINC SI 或: DEC SILOOP LOOP1(3) LOOP1:MOV ES:BYTE PTR DI, ALINC DI 或: DEC DILOOP LOOP1(4) LOOP1:CMP AL,ES:BYTE PTR DIJEEXITINCDI或: DEC DILOOP LOOP1EXIT:16.编写程序段,比较两个5字节的字符串 OLDS和NEWS,如果OLDS字符串与 NEW杯同,则执行 NEW_LESS,否则顺序执行程序。答案 :LEA SI, OLDSLEA DI, NEWSMOV CX, 5CLDREPZ CMPSBJNZ NEW_LESS16.假定AX和BX中的内容为带符号数,CX和DX中的内容为无符号数,请用比较指令和条件转移指 令实现以下判断:(1) 若DX的值超过CX的值,则转去执行 EXCEED(8) 若 BX 的值大于AX 的值 , 则转去执

温馨提示

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

最新文档

评论

0/150

提交评论