《微型计算机原理与接口技术》杨立习题解答.doc

上传人:飞****2 文档编号:60120180 上传时间:2022-11-13 格式:DOC 页数:39 大小:1.51MB
返回 下载 相关 举报
《微型计算机原理与接口技术》杨立习题解答.doc_第1页
第1页 / 共39页
《微型计算机原理与接口技术》杨立习题解答.doc_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《《微型计算机原理与接口技术》杨立习题解答.doc》由会员分享,可在线阅读,更多相关《《微型计算机原理与接口技术》杨立习题解答.doc(39页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、微机原理与接口技术习题解答习题11.1 冯诺依曼型计算机的设计方案有哪些特点?【解答】冯诺依曼型计算机的设计方案是“存储程序”和“程序控制”,有以下5方面特点:(1)用二进制数表示数据和指令;(2)指令和数据存储在内部存储器中,按顺序自动依次执行指令;(3)由运算器、控制器、存储器、输入设备和输出设备组成基本硬件系统;(4)由控制器来控制程序和数据的存取及程序的执行;(5)以运算器为核心。1.2 微处理器和微型计算机的发展经历了哪些阶段?各典型芯片具备哪些特点?【解答】经历了6代演变,各典型芯片的特点如表1-1所示。表1-1 微处理器的发展及典型芯片的特点发展时代类别典型芯片及性能特点第一代(

2、19711973年)4、8位低档微处理器Intel 4004集成2300多个晶体管,主频108KHz,寻址640Byte,指令系统简单;Intel 8008采用PMOS工艺,集成3500晶体管,基本指令48条,主频500KHz。 第二代(19741977年)8位中高档微处理器Intel 8080采用NMOS工艺,集成6000晶体管,主频2MHz,指令系统较完善,寻址能力增强,运算速度提高了一个数量级。第三代(19781984年)16位微处理器Intel 8086采用HMOS工艺,集成29000晶体管,主频5MHz/8MHz/10MHz ,寻址1MB。Intel 80286集成度达到13.4万晶

3、体管,主频20MHz。第四代(19851992年)32位微处理器Intel 80386集成27.5万个晶体管,主频33MHz,4GB物理寻址。有分段存储和分页存储部件,可管理64TB虚拟存储空间。Intel 80486集成120万个晶体管,包含浮点运算部件和8KB的一级高速缓冲存储器Cache。第五代(19931999年)超级32位微处理器Intel Pentium、Pentium Pro、Pentium MMX、Pentium II、 Pentium III、Pentium 4微处理器等,采用新式处理器结构,数据加密、视频压缩和对等网络等方面性能有较大幅度提高。第六代(2000年以后)64位

4、微处理器Merced由Intel公司与HP公司联手开发的Merced采用全新的IA-64结构设计,是一种采用长指令字、指令预测、分支消除、推理装入和其他一些先进技术的全新结构微处理器。1.3 微型计算机的特点和主要性能指标有那些?【解答】除具有运算速度快、计算精度高、有记忆能力和逻辑判断能力、可自动连续工作等基本特点以外,还具有功能强、可靠性高、价格低廉、结构灵活、适应性强、体积小、重量轻、功耗低、使用和维护方便等。微型计算机的性能指标与系统结构、指令系统、硬件组成、外部设备以及软件配备等有关。常用的微型计算机性能指标主要有:字长、主频、内存容量、指令数、基本指令执行时间、可靠性、兼容性、性能

5、价格比等。1.4 常见的微型计算机硬件结构由哪些部分组成?各部分的主要功能和特点是什么?【解答】微型计算机硬件一般由微处理器、内存储器、外存储器、系统总线、接口电路、输入/输出设备等部件组成。主要组成部件的功能和特点分析如下:(1)微处理器:是微型计算机的核心部件,由运算单元ALU、控制单元、寄存器组以及总线接口部件等组成,其功能是负责统一协调、管理和控制系统中的各个部件有机地工作。(2)内存储器:用来存放计算机工作过程中需要的操作数据和程序。可分为随机存储器RAM和只读存储器ROM。RAM存放当前参与运行的各种程序和数据,特点是信息可读可写,存取方便,但信息断电后会丢失;ROM用于存放各种固

6、定的程序和数据,特点是信息固定不变,关机后原存储的信息不会丢失。(3)系统总线:是CPU与其它部件之间传送数据、地址和控制信息的公共通道。可分成数据总线DB、地址总线AB、控制总线CB。(4)输入/输出接口电路:完成微型计算机与外部设备之间的信息交换。由寄存器组、专用存储器和控制电路等组成。(5)主机板:由CPU插座、芯片组、内存插槽、系统BIOS、CMOS、总线扩展槽、串行/并行接口、各种跳线和一些辅助电路等硬件组成。(6)外存储器: 使用最多的是磁盘存储器(软盘、硬盘)和光盘存储器。外存储器容量大,保存的信息不会丢失。(7)输入/输入设备:是微型计算机系统与外部进行通信联系的主要装置。常用

7、的有键盘、鼠标、显示器、打印机和扫描仪等。1.5 什么是微型计算机的系统总线?说明数据总线、地址总线、控制总线各自的作用。【解答】系统总线是CPU与其它部件之间传送数据、地址和控制信息的公共通道。(1)数据总线:用来传送数据,主要实现CPU与内存储器或I/O设备之间、内存储器与I/O设备或外存储器之间的数据传送。(2)地址总线:用来传送地址。主要实现从CPU送地址至内存储器和I/O设备,或从外存储器传送地址至内存储器等。(3)控制总线:用于传送控制信号、时序信号和状态信息等。1.6 什么是系统的主机板?由哪些部件组成?【解答】CPU、RAM、ROM、I/O接口电路以及系统总线组成的计算机装置称

8、为“主机”,主机的主体则是主机板。主机板上主要有CPU插座、芯片组、内存插槽、系统BIOS、CMOS、总线扩展槽、串行/并行接口、各种跳线和一些辅助电路等硬件。1.7 计算机中有哪些常用的数制和码制?如何进行数制之间的转换?【解答】数值数据经常用二进制、十进制、八进制和十六进制;字符数据使用ASCII码;表示十进制数字用BCD码。(1)十进制到二进制:整数部分连续除以2后“倒取余”,小数部分连续乘以2后“正取整”;(2)二进制到十进制:将二进制数按权展开即可。(3)二进制到八进制:将3位二进制一组对应1位八进制数码。(4)八进制到二进制:将1位八进制数码对应3位二进制数码。十六进制与二进制间转

9、换与八进制与二进制间转换类似,只是比例关系为1位十六进制数码对应4位二进制数码。1.8 将下列十进制数分别转化为二进制数、十六进制数和压缩BCD码。(1)15.32 (2)325.16 (3)68.31 (4)214.126 【解答】:(1)15.32 = 1111.0101B = F.5H=.BCD。(2)325.16 = .0001B = 85.1H= 1.BCD。(3)68.31 = .0100B = 44.4H= .BCD。(4)214.126 = .0010B = D6.2H= 0.0BCD。1.9 将下列二进制数分别转化为十进制数、八进制数和十六进制数。(1) (2) (3)101

10、11.1101 (4).0101【解答】(1) = 202 = 312Q = CAH(2) 10111.1101 = 23.8125 = 27.64Q = 17.DH(3) .0101 = 57.625 = 71.24Q = 39.5H1.10 将下列十六进制数分别转化为二进制数、十进制数。(1)FAH (2)12B8H (3)5A8.62H(4)2DF.2H【解答】(1) FAH = B = 250(2) 12B8H = 11000B = 4792(3) 5A8.62H = 0.B = 1448.(4) 2DF.2H = 1.0010B = 735.1.11 写出下列带符号十进制数的原码、反

11、码、补码表示(采用8位二进制数)。(1)+38 (2)+82 (3)57 (4)115【解答】(1)X =+38,X补 = B(2)X =+82,X补 = B(3)X =57,X补 = B(4)X =115,X补 = B1.12 写出下列二进制数的补码表示。(1)+ (2)+ (3) (4) 【解答】(1)X = +,X补 = B(2)X = +,X补 = B(3)X = ,X补 = B(4)X = ,X补 = B1.13 已知下列补码求出其真值。(1)87H (2)3DH (3)0B62H (4)3CF2H【解答】(1) X补 =87H = B,符号位为1,X是负数,X原 =B,X =-79

12、H(2) X补 =3DH = B,符号位为0,X是正数,X = 3DH(3) X补 =0B62H =00010B,符号位为0,X是正数,X = +B62H(4) X补 =3CF2H = 10010B,符号位为0,X是正数,X =3CF2H1.14 按照字符所对应的ASCII码表示,查表写出下列字符的ASCII码。A 、g 、W、*、ESC、LF、CR 、%【解答】A的ASCII码为41H;G的ASCII码为47H;W的ASCII码为57H;*的ASCII码为2AH;ESC的ASCII码为1BH;LF的ASCII码为0AH;CR的ASCII码为DH;%的ASCII码为25H。1.15 把下列英文

13、单词转换成ASCII编码的字符串。(1)How(2)Great (3)Water (4)Good 【解答】(1)How的ASCII码为486F77H;(2)Great的ASCII码为H;(3)Water的ASCII码为H;(4)Good的ASCII码为476F6F64H。习题22.1 8086CPU具有 20 条地址线,可直接寻址 1MB 容量的内存空间,在访问I/O端口时,使用地址线 16条 ,最多可寻址 64K 个I/O端口。 2.2 8086CPU的内部结构有何特点?由哪两部分组成?它们的主要功能是什么?【解答】8086微处理器是典型的16位微处理器,HMOS工艺制造,集成了2.9万只晶

14、体管,使用单一的+5V电源,有16根数据线和20根地址线;通过其16位的内部数据通路与设置指令预取队列的流水线结构结合起来而获得较高的性能。8086微处理器内部安排了两个逻辑单元,即执行部件EU和总线接口部件BIU。EU主要负责指令译码、执行和数据运算,包括计算有效地址;BIU主要完成计算物理地址、从内存中取指令、实现指令规定的读/写存储器或外部设备等信息传输类操作。2.3 8086CPU中的指令队列的作用是 预取指令 ,其长度是 6 字节。2.4 8086CPU内部寄存器有哪几种?各自的特点和作用是什么?【解答】CPU有14个内部寄存器,可分为3大类:通用寄存器、控制寄存器和段寄存器。通用寄

15、存器是一种面向寄存器的体系结构,操作数可以直接存放在这些寄存器中,既可减少访问存储器的次数,又可缩短程序的长度,提高了数据处理速度,占用内存空间少。控制寄存器包括指令指针寄存器IP和标志寄存器FLAG:IP用来指示当前指令在代码段的偏移位置;FLAG用于反映指令执行结果或控制指令执行的形式。为了实现寻址1MB存储器空间,8086CPU将1MB的存储空间分成若干个逻辑段进行管理,4个16位的段寄存器来存放每一个逻辑段的段起始地址。2.5 8086的标志寄存器分为 6 个 状态 标志位和 3 个 控制 标志位,它们各自的含义和作用是什么?【解答】标志寄存器各标志位的含义和作用如下表:表2-1 标志

16、寄存器FLAG中标志位的含义和作用标志位含义作用CF进位标志CF=1,指令执行结果在最高位上产生一个进位或借位;CF=0,则无进位或借位产生PF奇偶标志PF=1,结果低8位含偶数个1;PF=0,表示结果低8位含奇数个1AF辅助进位标志AF=1,运算结果的低4位产生了一个进位或借位;AF=0,则无此进位或借位ZF零标志ZF=1,运算结果为零;ZF=0,则运算结果不为零SF符号标志SF=1,运算结果为负数;SF=0,则结果为正数OF溢出标志OF=1,带符号数在进行运算时产生了溢出;OF=0,则无溢出TF陷阱标志TF=1,8086CPU处于单步工作方式;TF=0,8086CPU正常执行程序IF中断允

17、许标志IF=1,允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求信号;IF=0,则禁止接受可屏蔽中断请求DF方向标志DF=1,字符串操作指令按递减的顺序对字符串进行处理;DF=0,字符串操作指令按递增的顺序进行处理2.6 已知堆栈段寄存器(SS)=2400H,堆栈指针(SP)=1200H,计算该堆栈栈顶的实际地址,并画出堆栈示意图。【解答】(SS)=2400H,(SP)=1200H图2-1 堆栈示意图SP堆栈段栈底;PA=(SS)10H(SP)= 2400H10H1200H = 25200H。2.7 8086的存储器采用 奇偶存储体 结构,数据在内存中的存放规定是 低字节存放在低地址中,

18、高字节存放在高地址中,以低地址为字的地址,规则字是指 低字节地址为偶地址的字,非规则字是指 低字节的地址为奇地址的字。2.8 解释逻辑地址、偏移地址、有效地址、物理地址的含义,8086存储器的物理地址是如何形成的?怎样进行计算?【解答】逻辑地址:表示为段地址:偏移地址,书写程序时用到,一个存储单元可对应出多个逻辑地址;偏移地址:是某一存储单元距离所在逻辑段的开始地址的字节个数。有效地址:是指令中计算出的要访问的存储单元的偏移地址。物理地址:是CPU访问存储器时用到的20位地址,是存储单元的唯一的编号。物理地址计算公式:物理地址 = 段地址10H有效地址(或偏移地址)2.9 8086系统中的存储

19、器分为几个逻辑段?各段之间的关系如何?每个段寄存器的作用是什么?【解答】8086CPU将1MB的存储空间分成逻辑段来进行管理:每个逻辑段最小为16B。所以最多可分成64K个段;每个逻辑段最大为64KB,最少可分成16个逻辑段。各段的起始位置由程序员指出,可以彼此分离,也可以首尾相连、重叠或部分重叠。4个16位的段寄存器用来存放每一个逻辑段的段起始地址:CS中为代码段的起始地址;DS中为数据段的起始地址;SS中为堆栈段的起始地址;ES中为附加段的起始地址。2.10 I/O端口有哪两种编址方式,各自的优缺点是什么?【解答】I/O端口有两种编址方式:统一编址和独立编址。统一编址方式是将I/O端口与内

20、存单元统一起来进行编号,即包括在1MB的存储器空间中,看作存储器单元,每个端口占用一个存储单元地址。该方式主要优点是不需要专门的I/O指令,对I/O端口操作的指令类型多;缺点是端口要占用部分存储器的地址空间,不容易区分是访问存储器还是外部设备。独立编址的端口单独构成I/O地址空间,不占用存储器地址。优点是地址空间独立,控制电路和地址译码电路简单,采用专用的I/O指令,使得端口操作的指令在形式上与存储器操作指令有明显区别,程序容易阅读;缺点是指令类别少,一般只能进行传送操作。2.11 8086的最大工作模式和最小各种模式的主要区别是什么?如何进行控制?【解答】两种模式的主要区别是:8086工作在

21、最小模式时,系统只有一个微处理器,且系统所有的控制信号全部由8086 CPU提供;在最大模式时,系统由多个微处理器/协处理器构成的多机系统,控制信号通过总线控制器产生,且系统资源由各处理器共享。8086CPU工作在哪种模式下通过CPU的第33条引脚MN/来控制:MN/=1,系统就处于最小工作模式;MN/=0,系统处于最大工作模式。2.12 在内存有一个由20个字节组成的数据区,其起始地址为1100H:0020H。计算出该数据区在内存的首末单元的实际地址。【解答】逻辑地址1100H:0020H对应的物理地址为PA=1100H10H0020H= 11020H,即该数据区在内存中的首单元的物理地址为

22、11020H;因为存储空间中每个字节单元对应一个地址,所以20个字节对应20个地址,则该数据区在内存中的末单元的物理地址PA = 11020H20D = 11020H14H = 11034H。2.13 已知两个16位的字数据268AH和357EH,它们在8086存储器中的地址分别为00120H和00124H,试画出它们的存储示意图。【解答】存储示意图参见图2-2。8AH00120H50H00510H26H00121H65H00511H00122H6EH00512H00123H74H00513H7EH00124H69H00514H35H00125H75H00515H6DH00516H图2-2 数

23、据的存储示意 图2-3 字符的存储示意2.14 找出字符串“Pentium”的ASCII码,将它们依次存入从00510H开始的字节单元中,画出它们存放的内存单元示意图。 【解答】存储示意图参见图2-3。2.15 在内存中保存有一个程序段,其位置为(CS)=33A0H,(IP)=0130H,当计算机执行该程序段指令时,分析实际启动的物理地址是多少。【解答】逻辑地址(CS):(IP)= 33A0H:0130H,计算出对应物理地址PA= (CS)10H(IP)= 33A0H10H0130H = 33B30H2.16 什么是总线周期?8086CPU的读/写总线周期各包含多少个时钟周期?什么情况下需要插

24、入等待周期TW,什么情况下会出现空闲状态TI?【解答】8086CPU经外部总线对存储器或I/O端口进行一次信息的输入或输出过程所需要的时间,称为总线周期。8086CPU的读/写总线周期通常包括T1、T2、T3、T4状态4个时钟周期。在高速的CPU与慢速的存储器或I/O接口交换信息时,为了防止丢失数据,会由存储器或外设通过READY信号线,在总线周期的T3和T4之间插入1个或多个必要的等待状态TW,用来进行必要的时间补偿。在BIU不执行任何操作的两个总线周期之间会出现空闲状态TI。2.17 80286CPU的内部结构与8086相比,有哪些增加的部件?其主要特点和功能是什么?【解答】80286 C

25、PU的可编程寄存器在8086寄存器结构的基础上,增加了一个16位的机器状态字寄存器MSW。而且为适应80286性能的提高,在8086的状态标志寄存器F中,又增加使用了3个位,即IOPLI/O特权层标志(占用12、13位)和NT嵌套任务标志(占用14位)。NT标志位表示当前执行的任务嵌套于另一任务中,IOPL用来定义当前任务的I/O特权层。2.18 简述Pentium微处理器的内部组成结构和主要部件的功能,Pentium微处理器的主要特点有哪些?【解答】Pentium微处理器的主要部件包括总线接口部件、指令高速缓存器、数据高速缓存器、指令预取部件与转移目标缓冲器、寄存器组、指令译码部件、具有两条

26、流水线的整数处理部件(U流水线和V流水线)、以及浮点处理部件FPU等。各主要部件的功能分析如下:(1)整数处理部件:U流水线和V流水线都可以执行整数指令,U流水线还可执行浮点指令。因此能够在每个时钟周期内同时执行两条整数指令。(2)浮点处理部件FPU:高度流水线化的浮点操作与整数流水线集成在一起。微处理器内部流水线进一步分割成若干个小而快的级段。(3)独立的数据和指令高速缓存Cache:两个独立的8KB指令和8KB数据Cache可扩展到12KB,允许同时存取,内部数据传输效率更高。两个Cache采用双路相关联的结构,每路128个高速缓存行,每行可存放32B。数据高速缓存两端口对应U、V流水线。

27、(4)指令集与指令预取:指令预取缓冲器顺序地处理指令地址,直到它取到一条分支指令,此时存放有关分支历史信息的分支目标缓冲器BTB将对预取到的分支指令是否导致分支进行预测。(5)分支预测:指令预取处理中增加了分支预测逻辑,提供分支目标缓冲器来预测程序转移。Pentium微处理器的主要特点如下:(1)采用超标量双流水线结构;(2)采用两个彼此独立的高速缓冲存储器;(3)采用全新设计的增强型浮点运算器(FPU);(4)可工作在实地址方式、保护方式、虚拟8086方式以及SMM系统管理方式;(5)常用指令进行了固化及微代码改进,一些常用的指令用硬件实现。2.19 什么是虚拟存储技术?该技术的主要优点有那

28、些?【解答】虚拟存储技术是一种存储管理技术,采用硬件、软件相结合的方法,由系统自动分批将程序调入内存,不断地用新的程序段来覆盖内存中暂时不用的老程序段。虚拟存储技术的主要优点有:(1)扩大了程序可访问的存储空间;(2)便于实施多任务的保护和隔离;(3)便于操作系统实现内存管理。2.20 简要分析Pentium系列微处理器的4种工作方式具备的特点。【解答】(1)实地址方式:系统加电或者复位时进入实地址方式,使用16位80X86的寻址方式、存储器管理和中断管理;使用20位地址寻址1MB空间,可用32位寄存器执行大多数指令。(2)保护方式:支持多任务运行环境,对任务进行隔离和保护,进行虚拟存储管理能

29、够充分发挥Pentium微处理器的优良性能。(3)虚拟8086方式:是保护模式下某个任务的工作方式,允许运行多个8086程序,使用8086的寻址方式,每个任务使用1MB的内存空间。(4)系统管理方式:主要用于电源管理,可使处理器和外设部件进入“休眠”,在有键盘按下或鼠标移动时“唤醒”系统使之继续工作;利用SMM可以实现软件关机。习题33.1 简要分析8086的指令格式由哪些部分组成,什么是操作码?什么是操作数?寻址和寻址方式的含义是什么?8086指令系统有哪些寻址方式?【解答】8086的指令格式由操作码和操作数字段组成。操作码:要完成的操作。操作数:参与操作的对象。寻址:寻找操作数或操作数地址

30、的过程。寻址方式:指令中给出的找到操作数或操作数地址采用的方式。8086指令系统的寻址方式主要有立即数寻址、寄存器寻址、存储器寻址和I/O端口寻址。其中,存储器寻址可进一步分为直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址;I/O端口指令IN和OUT使用的端口寻址方式有直接寻址和间接寻址。3.2 设(DS)=2000H,(ES)= 2100H,(SS)= 1500H,(SI)= 00A0H,(BX)= 0100H,(BP)= 0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少?(1) MOV AX,21H

31、(2) MOV AX,BX (3) MOV AX,1000H(4) MOV AX,VAL (5) MOV AX,BX (6) MOV AX,ES:BX(7) MOV AX,BP (8) MOV AX,SI (9) MOV AX,BX+10(10) MOV AX,VALBX (11) MOV AX,BXSI (12) MOV AX,VALBXSI【解答】(1) MOV AX,21H立即寻址,源操作数直接放在指令中(2) MOV AX,BX寄存器寻址,源操作数放在寄存器BX中(3) MOV AX,1000H直接寻址,EA = 1000H,PA =(DS)10HEA = 2000H10H1000H

32、= 21000H(4) MOV AX,VAL直接寻址,EA = VAL = 0050H,PA =(DS)10HEA = 2000H10H0050H = 20050H(5) MOV AX,BX寄存器间接寻址,EA =(BX)= 0100H,PA =(DS)10HEA = 2000H10H0100H = 20100H(6) MOV AX,ES:BX寄存器间接寻址,EA =(BX)= 0100H,PA =(ES)10HEA = 2100H10H0100H = 21100H(7) MOV AX,BP寄存器间接寻址,EA =(BP)= 0010H,PA =(SS)10HEA = 1500H10H0010

33、H = 15010H(8) MOV AX,SI寄存器间接寻址,EA =(SI)= 00A0H,PA =(DS)10HEA = 2000H10H00A0H = 200A0H(9) MOV AX,BX+10相对寄存器寻址,EA =(BX)10D = 0100H000AH= 010AH,PA =(DS)10HEA = 2000H10H010AH = 2010AH(10) MOV AX,VALBX相对寄存器寻址,EA =(BX)VAL= 0100H0050H= 0150H,PA =(DS)10HEA = 2000H10H0150H = 20150H(11) MOV AX,BXSI基址变址寻址,EA =

34、 (BX)(SI)= 0100H00A0H = 01A0H,PA = (DS)10HEA = 2000H10H01A0H = 201A0H(12) MOV AX,VALBXSI相对基址变址寻址,EA = (BX)(SI)VAL= 0100H00A0H0050H = 01F0H,PA =(DS)10HEA = 2000H10H01F0H = 201F0H3.3 给定寄存器及存储单元的内容为:(DS) = 2000H,(BX) = 0100H,(SI) = 0002H,(20100) = 32H,(20101) = 51H,(20102) = 26H,(20103) = 83H,(21200) =

35、 1AH,(21201) = B6H,(21202) = D1H,(21203) = 29H。试说明下列各条指令执行完后,AX寄存器中保存的内容是什么。(1) MOV AX,1200H (2) MOV AX,BX (3) MOV AX,1200H(4) MOV AX,BX (5) MOV AX,1100HBX (6) MOV AX,BXSI【解答】(1) MOV AX,1200H ;执行后,(AX)= 1200H(2) MOV AX,BX ;执行后,(AX)= (BX)= 0100H(3) MOV AX,1200H 直接寻址,EA = VAL = 1200H,PA =(DS)10HEA = 2

36、000H10H1200H = 21200H,执行后,(AX)= B61AH(4) MOV AX,BXEA = (BX)= 0100H,PA =(DS)10HEA = 2000H10H0100H = 20100H,执行后,(AX)= 5132H(5) MOV AX,1100HBXEA =(BX)1100H = 0100H1100H = 1200H,PA =(DS)10HEA = 2000H10H1200H = 21200H,执行后,(AX)= B61AH(6) MOV AX,BXSIEA =(BX)(SI)= 0100H0002H = 0102H,PA =(DS)10HEA = 2000H10H

37、0102H = 20102H,执行后,(AX)= 29D1H3.4 分析下列指令的正误,对于错误的指令要说明原因并加以改正。(1) MOV AH,BX (2) MOV BX,SI(3) MOV AX,SIDI (4) MOV MYDATBXSI,ES:AX(5) MOV BYTE PTRBX,1000 (6) MOV BX,OFFSET MAYDATSI (7) MOV CS,AX (8) MOV DS,BP【解答】(1) MOV AH,BX 错误,寄存器类型不匹配,可改为MOV AX,BX(2) MOV BX,SI错误,两个操作数不能都为存储单元,可改为MOV BX,SI或MOV BX,SI

38、(3) MOV AX,SIDI错误,寻址方式中只能出现一个变址寄存器,可改为MOV AX,BXDI。(4) MOV MYDATBXSI,ES:AX错误,AX签不能有段跨越前缀,去掉ES:,改为MOV MYDATBXSI,AX(5) MOV BYTE PTRBX,1000错误,1000超出字节空间存储范围(6) MOV BX,OFFSET MAYDATSI ;正确(7) MOV CS,AX错误,MOV指令CS不能做目的操作数,可改为MOV DS,AX(8) MOV DS,BP ;正确注:本题错误改正部分有的答案并不唯一,可参考原题题意改成合法形式。3.5 设VAR1、VAR2为字变量,LAB为标

39、号,分析下列指令的错误之处并加以改正。(1) ADD VAR1,VAR2 (2) MOV AL,VAR2(3) SUB AL,VAR1 (4) JMP LABSI(5) JNZ VAR1 (6) JMP NEAR LAB【解答】(1) ADD VAR1,VAR2错误,两个操作数不能都为存储单元,可改为 MOV BX,VAR2ADD VAR1,BX(2) MOV AL,VAR2错误,数据类型不匹配,可改为MOV AX,VAR2(3) SUB AL,VAR1错误,数据类型不匹配,可改为SUB AX,VAR1(4) JMP LABSI错误,寄存器相对寻址形式中不能用标号做位移量,可改为JMP VAR

40、1SI(5) JNZ VAR1错误,条件跳转指令只能进行段内短跳转,所以后面只能跟短标号。可改为JNZ LAB(6) JMP NEAR LAB错误,缺少运算符PTR,可改为JMP NEAR PTR LAB注:本题错误改正部分有的答案并不唯一,可参考原题题意改成合法形式。3.6 写出能够完成下列操作的8086CPU指令。(1) 把4629H传送给AX寄存器;(2) 从AX寄存器中减去3218H;(3) 把BUF的偏移地址送入BX中。【解答】(1) MOV AX,4629H(2) SUB AX,3218H(3) LEA BX,BUF3.7 根据以下要求写出相应的汇编语言指令。 (1) 把BX和DX

41、寄存器的内容相加,结果存入DX寄存器中; (2) 用BX和SI的基址变址寻址方式,把存储器中的一个字节与AL内容相加,并保存在AL寄存器中; (3) 用寄存器BX和位移量21B5H的变址寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器单元中; (4) 用位移量2158H的直接寻址方式把存储器中的一个字与数3160H相加,并把结果送回该存储器中; (5) 把数25H与(AL)相加,结果送回寄存器AL中。【解答】(1) ADD DX,BX(2) ADD AL,BXSI(3) ADD 21B5HBX,CX(4) ADD WORD PTR 2158H,3160H(5) ADD AL,25H

42、3.8 写出将首地址为BLOCK的字数组的第6个字送到CX寄存器的指令序列,要求分别使用以下几种寻址方式:(1) 以BX的寄存器间接寻址(2) 以BX的寄存器相对寻址(3) 以BX、SI的基址变址寻址【解答】(1) LEA BX,BLOCK+10MOV CX,BX(2) LEA BX,BLOCKMOV CX,10BX(3) LEA BX,BLOCKMOV SI,10MOV CX,BXSI3.9 执行下列指令后,AX寄存器中的内容是什么?TABLE DB 10,20,30,40,50ENTRY DW 3 MOV BX,OFFSET TABLEADD BX,ENTRYMOV AX,BXAX= 【解

43、答】AX= 3228H 3.10 下面是将内存一字节数据高4位和低4位互换并放回原位置的程序,找出错误并改正。 DATA SEGMENTDD1 DB 23HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXLEA SI,OFFSET DD1MOV AL,SIMOV CL,4RCR AL,CLMOV SI,ALMOV AH,4CHINT 21HCODE ENDS END START【解答】程序第8行错误:LEA SI,OFFSET DD1,应去掉OFFSET;程序第10行错误:RCR AL,CL,应使用RO

44、R或ROL,改为ROR AL,CL3.11 已知用寄存器BX作地址指针,自BUF所指的内存单元开始连续存放着3个无符号数字数据,编程序求它们的和,并将结果存放在这3个数之后。【解答】参考程序如下:LEA BX,BUFMOV AX,BXADD AX,BX+2ADD AX,BX+4MOV BX+6,AX3.12 分析汇编语言源程序应该由哪些逻辑段组成?各段的作用是什么?语句标号和变量应具备哪3种属性?【解答】汇编语言源程序应该由若干个逻辑段组成,可以有若干个数据段、代码段、堆栈段和附加数据段,至少要有一个代码段。各段的作用如下:(1)代码段用来存放程序和常数。(2)数据段用于数据的保存。(3)堆栈段用于保护数据,尤其在子程序调用、中断过程中进行现场信息保护。(4)附加数据段用于数据的保存。语句标号和变量应具备的3种属性:段属性、偏移属性和类型属性。3.13 执行完下列

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

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com