2022年微机原理与接口技术-习题解答 .pdf

上传人:Che****ry 文档编号:35752712 上传时间:2022-08-23 格式:PDF 页数:36 大小:529.85KB
返回 下载 相关 举报
2022年微机原理与接口技术-习题解答 .pdf_第1页
第1页 / 共36页
2022年微机原理与接口技术-习题解答 .pdf_第2页
第2页 / 共36页
点击查看更多>>
资源描述

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

1、微机原理与接口技术习题解答习题 2 2.1 8086CPU 具有20 条地址线,可直接寻址1MB 容量的内存空间,在访问I/O 端口时,使用地址线16 条,最多可寻址64K 个 I/O 端口。2.2 8086CPU 的内部结构有何特点?由哪两部分组成?它们的主要功能是什么?【解答】 8086 微处理器是典型的16 位微处理器, HMOS 工艺制造,集成了2.9 万只晶体管,使用单一的 +5V 电源,有16 根数据线和20 根地址线;通过其16 位的内部数据通路与设置指令预取队列的流水线结构结合起来而获得较高的性能。8086 微处理器内部安排了两个逻辑单元,即执行部件EU 和总线接口部件BIU

2、。EU 主要负责指令译码、执行和数据运算,包括计算有效地址;BIU 主要完成计算物理地址、从内存中取指令、实现指令规定的读 /写存储器或外部设备等信息传输类操作。2.3 8086CPU 中的指令队列的作用是预取指令,其长度是6 字节。2.4 8086CPU 内部寄存器有哪几种?各自的特点和作用是什么?【解答】 CPU 有 14 个内部寄存器,可分为3 大类:通用寄存器、控制寄存器和段寄存器。通用寄存器是一种面向寄存器的体系结构,操作数可以直接存放在这些寄存器中,既可减少访问存储器的次数,又可缩短程序的长度,提高了数据处理速度,占用内存空间少。控制寄存器包括指令指针寄存器IP 和标志寄存器FLA

3、G :IP 用来指示当前指令在代码段的偏移位置; FLAG 用于反映指令执行结果或控制指令执行的形式。为了实现寻址1MB 存储器空间, 8086CPU 将 1MB 的存储空间分成若干个逻辑段进行管理,4 个16 位的段寄存器来存放每一个逻辑段的段起始地址。2.5 8086 的标志寄存器分为6 个状态标志位和3 个控制标志位,它们各自的含义和作用是什么?【解答】 标志寄存器各标志位的含义和作用如下表:表 2-1 标志寄存器FLAG 中标志位的含义和作用标志位含义作用CF 进位标志CF=1,指令执行结果在最高位上产生一个进位或借位;CF=0,则无进位或借位产生PF 奇偶标志PF=1,结果低 8 位

4、含偶数个1;PF=0,表示结果低8 位含奇数个1 AF 辅助进位标志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 中断允许标志IF=1 ,允许 CPU 接受外部从INTR 引脚上发来的可屏蔽中断请求信号;名师资料总结 - - -精品资料欢迎下载 - - - - - -

5、 - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 36 页 - - - - - - - - - IF=0 ,则禁止接受可屏蔽中断请求DF 方向标志DF=1,字符串操作指令按递减的顺序对字符串进行处理;DF=0 ,字符串操作指令按递增的顺序进行处理2.6 已知堆栈段寄存器(SS)=2400H,堆栈指针( SP)=1200H ,计算该堆栈栈顶的实际地址,并画出堆栈示意图。【解答】 (SS)=2400H , (SP)=1200H;PA=(SS)10H( SP)= 2400H10H1200H = 25200H 。2.7 8086 的存储器采用奇

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

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

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

9、8086 的最大工作模式和最小各种模式的主要区别是什么?如何进行控制?【解答】两 种模式的主要区别是:图 2-1 堆栈示意图SP 堆栈段栈底名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 36 页 - - - - - - - - - 8086 工作在最小模式时,系统只有一个微处理器,且系统所有的控制信号全部由8086 CPU 提供;在最大模式时, 系统由多个微处理器/协处理器构成的多机系统,控制信号通过总线控制器产生,且系统资源由各处理器共享。8086CPU 工作在哪种模

10、式下通过CPU 的第 33 条引脚 MN/MX来控制: MN/MX=1,系统就处于最小工作模式;MN/MX=0,系统处于最大工作模式。2.12 在内存有一个由20 个字节组成的数据区,其起始地址为1100H:0020H 。计算出该数据区在内存的首末单元的实际地址。【解答】 逻辑地址1100H:0020H 对应的物理地址为PA=1100H10H0020H= 11020H,即该数据区在内存中的首单元的物理地址为11020H;因为存储空间中每个字节单元对应一个地址,所以20 个字节对应20 个地址,则该数据区在内存中的末单元的物理地址PA = 11020H20D = 11020H14H = 1103

11、4H。2.13 已知两个16 位的字数据268AH 和 357EH,它们在8086 存储器中的地址分别为00120H 和00124H,试画出它们的存储示意图。【解答】 存储示意图参见图2-2。2.14 找出字符串“ Pentium”的 ASCII 码,将它们依次存入从00510H 开始的字节单元中,画出它们存放的内存单元示意图。【解答】 存储示意图参见图2-3。2.15 在内存中保存有一个程序段,其位置为(CS)=33A0H , (IP)=0130H,当计算机执行该程序段指令时,分析实际启动的物理地址是多少。【解答】 逻辑地址( CS) : (IP)= 33A0H :0130H,计算出对应物理

12、地址PA= (CS)10H( IP)= 33A0H 10H0130H = 33B30H 2.16 什么是总线周期?8086CPU 的读 /写总线周期各包含多少个时钟周期?什么情况下需要插入等待周期TW,什么情况下会出现空闲状态TI?【解答】 8086CPU 经外部总线对存储器或I/O 端口进行一次信息的输入或输出过程所需要的时间,称为总线周期。8086CPU 的读 /写总线周期通常包括T1、T2、T3、T4状态 4 个时钟周期。在高速的 CPU 与慢速的存储器或I/O 接口交换信息时, 为了防止丢失数据,会由存储器或外设通过READY 信号线,在总线周期的T3和 T4之间插入1 个或多个必要的

13、等待状态TW,用来进行必要的时间补偿。在 BIU 不执行任何操作的两个总线周期之间会出现空闲状态TI。2.17 80286CPU 的内部结构与8086 相比,有哪些增加的部件?其主要特点和功能是什么?【解答】 80286 CPU 的可编程寄存器在8086 寄存器结构的基础上,增加了一个16 位的机器状态字寄存器 MSW 。而且为适应80286 性能的提高,在8086 的状态标志寄存器F 中,又增加使用了3 个位,即 IOPLI/O 特权层标志(占用12、13 位)和 NT嵌套任务标志(占用14 位)。 NT 标志位表示当前8AH 00120H 50H 00510H 26H 00121H 65H

14、 00511H 00122H 6EH 00512H 00123H 74H 00513H 7EH 00124H 69H 00514H 35H 00125H 75H 00515H 6DH 00516H 图 2-2 数据的存储示意图 2-3 字符的存储示意名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 36 页 - - - - - - - - - 执行的任务嵌套于另一任务中,IOPL 用来定义当前任务的I/O 特权层。2.18 简述 Pentium 微处理器的内部组成结构和主要

15、部件的功能,Pentium 微处理器的主要特点有哪些?【解答】 Pentium 微处理器的主要部件包括总线接口部件、指令高速缓存器、数据高速缓存器、指令预取部件与转移目标缓冲器、寄存器组、指令译码部件、具有两条流水线的整数处理部件(U 流水线和 V 流水线)、以及浮点处理部件FPU 等。各主要部件的功能分析如下:(1)整数处理部件:U 流水线和V 流水线都可以执行整数指令,U 流水线还可执行浮点指令。因此能够在每个时钟周期内同时执行两条整数指令。(2)浮点处理部件FPU:高度流水线化的浮点操作与整数流水线集成在一起。微处理器内部流水线进一步分割成若干个小而快的级段。(3)独立的数据和指令高速缓

16、存Cache:两个独立的8KB 指令和 8KB 数据 Cache 可扩展到 12KB ,允许同时存取,内部数据传输效率更高。两个Cache 采用双路相关联的结构,每路128 个高速缓存行,每行可存放32B。数据高速缓存两端口对应U、V 流水线。(4)指令集与指令预取:指令预取缓冲器顺序地处理指令地址,直到它取到一条分支指令,此时存放有关分支历史信息的分支目标缓冲器BTB 将对预取到的分支指令是否导致分支进行预测。(5)分支预测:指令预取处理中增加了分支预测逻辑,提供分支目标缓冲器来预测程序转移。Pentium 微处理器的主要特点如下:(1)采用超标量双流水线结构;(2)采用两个彼此独立的高速缓

17、冲存储器;(3)采用全新设计的增强型浮点运算器(FPU) ;(4)可工作在实地址方式、保护方式、虚拟8086 方式以及SMM 系统管理方式;(5)常用指令进行了固化及微代码改进,一些常用的指令用硬件实现。2.19 什么是虚拟存储技术?该技术的主要优点有那些?【解答】 虚拟存储技术是一种存储管理技术,采用硬件、软件相结合的方法,由系统自动分批将程序调入内存,不断地用新的程序段来覆盖内存中暂时不用的老程序段。虚拟存储技术的主要优点有:(1)扩大了程序可访问的存储空间;(2)便于实施多任务的保护和隔离; (3)便于操作系统实现内存管理。2.20 简要分析Pentium 系列微处理器的4 种工作方式具

18、备的特点。【解答】(1)实地址方式:系统加电或者复位时进入实地址方式,使用16 位 80X86 的寻址方式、存储器管理和中断管理;使用20 位地址寻址1MB 空间,可用32 位寄存器执行大多数指令。(2)保护方式:支持多任务运行环境,对任务进行隔离和保护,进行虚拟存储管理能够充分发挥Pentium 微处理器的优良性能。(3)虚拟 8086 方式:是保护模式下某个任务的工作方式,允许运行多个8086 程序,使用8086 的寻址方式,每个任务使用1MB 的内存空间。(4)系统管理方式:主要用于电源管理,可使处理器和外设部件进入“休眠”,在有键盘按下或鼠标移动时“唤醒”系统使之继续工作;利用SMM

19、可以实现软件关机。习题 3 3.1 简要分析8086 的指令格式由哪些部分组成,什么是操作码?什么是操作数?寻址和寻址方式名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 36 页 - - - - - - - - - 的含义是什么?8086 指令系统有哪些寻址方式?【解答】 8086 的指令格式由操作码和操作数字段组成。操作码:要完成的操作。操作数:参与操作的对象。寻址:寻找操作数或操作数地址的过程。寻址方式:指令中给出的找到操作数或操作数地址采用的方式。8086 指令系统

20、的寻址方式主要有立即数寻址、寄存器寻址、存储器寻址和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 (2) MOV AX,BX (3) MOV AX,10

21、00H (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) 10H EA = 2000H 10H1000H = 21000H (4)MO

22、V AX ,VAL 直接寻址, EA = V AL = 0050H ,PA =(DS) 10HEA = 2000H 10H0050H = 20050H(5)MOV AX ,BX 寄存器间接寻址,EA =(BX )= 0100H,PA =( DS) 10H EA = 2000H10H 0100H = 20100H(6)MOV AX ,ES:BX 寄存器间接寻址,EA =(BX )= 0100H,PA =( ES) 10HEA = 2100H 10H0100H = 21100H(7)MOV AX ,BP 寄存器间接寻址,EA =(BP)= 0010H,PA =(SS) 10HEA = 1500H

23、10H0010H = 15010H(8)MOV AX ,SI 寄存器间接寻址,EA =(SI)= 00A0H ,PA =(DS) 10HEA = 2000H 10H00A0H = 200A0H(9)MOV AX ,BX+10 相对寄存器寻址,EA =(BX ) 10D = 0100H 000AH= 010AH , PA =(DS) 10HEA = 2000H10H 010AH = 2010AH(10)MOV AX ,VALBX 相对寄存器寻址,EA =(BX ) VAL= 0100H 0050H= 0150H , PA =(DS) 10HEA = 2000H10H 0150H = 20150H

24、(11)MOV AX ,BXSI 基址变址寻址, EA = (BX )(SI)= 0100H00A0H = 01A0H ,PA = (DS)10HEA = 2000H10H 01A0H = 201A0H(12)MOV AX ,VALBXSI 相对基址变址寻址,EA = (BX)( SI) VAL= 0100H 00A0H 0050H = 01F0H ,PA =( DS)10H EA = 2000H 10H 01F0H = 201F0H3.3 给定寄存器及存储单元的内容为:(DS) = 2000H , (BX) = 0100H , (SI) = 0002H , (20100) = 32H ,(2

25、0101) = 51H ,(20102) = 26H ,(20103) = 83H,(21200) = 1AH , (21201) = B6H ,(21202) = D1H ,(21203) = 29H。试说明下列各条指令执行完后,AX 寄存器中保存的内容是什么。(1) MOV AX,1200H (2) MOV AX,BX (3) MOV AX,1200H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 36 页 - - - - - - - - - (4) MOV AX,

26、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 = V AL = 1200H , PA =(DS) 10HEA = 2000H 10H1200H = 21200H ,执行后,( AX ) = B61AH(4)MOV AX ,BX EA = (BX)= 0100H,PA =(DS) 10H EA = 2000H 10H0100H = 20100H ,执行后,( A

27、X )= 5132H(5)MOV AX ,1100HBX EA =(BX ) 1100H = 0100H 1100H = 1200H ,PA =( DS) 10H EA = 2000H 10H 1200H = 21200H,执行后,( AX )= B61AH(6)MOV AX ,BXSI EA =(BX )( SI)= 0100H0002H = 0102H ,PA =( DS) 10H EA = 2000H 10H 0102H = 20102H,执行后,( AX )= 29D1H3.4 分析下列指令的正误,对于错误的指令要说明原因并加以改正。(1) MOV AH,BX (2) MOV BX,S

28、I (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(3) MOV AX,SIDI错误,寻址方式中只能出现一个变址寄存器,可改为MOV AX,BXDI。(4) MOV MYDATBXSI,ES:AX错误, AX 签不能有

29、段跨越前缀,去掉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 为标号,分析下列指令的错误之处并加以改正。(1) ADD VAR1,VAR2 (2) MOV AL,VAR2 (3) SUB AL,VAR1 (

30、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 VAR1SI(5) JNZ VAR1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -

31、- - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 36 页 - - - - - - - - - 错误,条件跳转指令只能进行段内短跳转,所以后面只能跟短标号。可改为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(

32、2) SUB AX,3218H (3) LEA BX,BUF3.7 根据以下要求写出相应的汇编语言指令。(1)把 BX 和 DX 寄存器的内容相加,结果存入DX 寄存器中;(2) 用 BX 和 SI 的基址变址寻址方式,把存储器中的一个字节与AL 内容相加, 并保存在AL 寄存器中;(3)用寄存器BX 和位移量21B5H 的变址寻址方式把存储器中的一个字和(CX) 相加,并把结果送回存储器单元中;(4)用位移量2158H 的直接寻址方式把存储器中的一个字与数3160H 相加,并把结果送回该存储器中;(5)把数 25H 与(AL) 相加,结果送回寄存器AL 中。【解答】(1) ADD DX,BX

33、(2) ADD AL,BXSI (3) ADD 21B5HBX,CX (4) ADD WORD PTR 2158H,3160H (5) ADD AL,25H3.8 写出将首地址为BLOCK 的字数组的第6 个字送到CX 寄存器的指令序列,要求分别使用以下几种寻址方式:(1) 以 BX 的寄存器间接寻址(2) 以 BX 的寄存器相对寻址(3) 以 BX 、SI 的基址变址寻址【解答】(1)LEA BX,BLOCK+10 MOV CX,BX (2)LEA BX,BLOCK MOV CX,10BX(3)LEA BX,BLOCK MOV SI,10 MOV CX,BXSI3.9 执行下列指令后,AX

34、寄存器中的内容是什么?TABLE DB 10,20,30 ,40,50 ENTRY DW 3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 36 页 - - - - - - - - - MOV BX ,OFFSET TABLE ADD BX ,ENTRY MOV AX ,BX AX= 【解答】 AX= 3228H 3.10 下面是将内存一字节数据高4 位和低 4 位互换并放回原位置的程序,找出错误并改正。DATA SEGMENT DD1 DB 23H DATA ENDS

35、 CODE SEGMENT ASSUME CS :CODE ,DS:DATA START: MOV AX ,DATA MOV DS,AX LEA SI,OFFSET DD1 MOV AL ,SI MOV CL ,4 RCR AL ,CL MOV SI,AL MOV AH,4CH INT 21H CODE ENDS END START 【解答】 程序第 8 行错误: LEA SI,OFFSET DD1 ,应去掉 OFFSET;程序第 10 行错误: RCR AL , CL,应使用ROR 或 ROL ,改为 ROR AL ,CL3.11 已知用寄存器 BX 作地址指针,自BUF 所指的内存单元开始

36、连续存放着3 个无符号数字数据,编程序求它们的和,并将结果存放在这3 个数之后。【解答】 参考程序如下:LEA BX,BUF MOV AX,BX ADD AX,BX+2 ADD AX,BX+4 MOV BX+6,AX 3.12 分析汇编语言源程序应该由哪些逻辑段组成?各段的作用是什么?语句标号和变量应具备哪3 种属性?【解答】 汇编语言源程序应该由若干个逻辑段组成,可以有若干个数据段、代码段、堆栈段和附加数据段,至少要有一个代码段。各段的作用如下:(1)代码段用来存放程序和常数。(2)数据段用于数据的保存。(3)堆栈段用于保护数据,尤其在子程序调用、中断过程中进行现场信息保护。(4)附加数据段

37、用于数据的保存。语句标号和变量应具备的3 种属性:段属性、偏移属性和类型属性。3.13 执行完下列程序后,回答指定的问题。MOV AX ,0 MOV BX ,2 MOV CX,50 LP:ADD AX ,BX ADD BX ,2 LOOP LP 问: (1) 该程序的功能是。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 36 页 - - - - - - - - - (2) 程序执行完成后, (AX )= 。【解答】(1)完成 0 到 100 间所有偶数求和的功能。(2)

38、 25503.14 编写程序,计算下面函数的值。104)100(3)0(2xxxxxxs【解答】DATA SEGMENT X DW 34 S DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX ,DATA MOV DS,AX MOV AX ,X ;将 X 送到 AX 中CMP AX ,0 ;( AX ) 0 吗?JL DOUB ;是,转向doub CMP AX ,10 ;否,( ax) 10 吗?JLE TRIB ;是,转向trib SAL AX ,1 ;否,乘以4 SAL AX ,1 JMP EXIT DOUB: S

39、AL AX ,1 ;乘以 2 JMP EXIT TRIB: SAL AX ,1 ;乘以 3 ADD AX ,X EXIT: MOV S,AX ;保存结果MOV AH,4CH ;结束INT 21H CODE ENDS END START 注意,在比较的过程中使用的是针对带符号数的跳转指令,应该看作带符号数。程序中还用了移位指令代替了乘法指令。3.15 从键盘输入一系列字符,以回车符结束,编程统计其中非数字字符的个数。【解答】DATA SEGMENT BLOCK DB 100 DUP (?) COUNT DB ? DATA ENDS CODE SEGMENT ASSUME DS:DATA ,CS:

40、CODE START:MOV AX ,DATA MOV DS,AX MOV DL ,0 LEA SI,BLOCK LP: MOV AH ,1 INT 21H CMP AL,0DH JZ EXIT MOV SI ,AL 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 36 页 - - - - - - - - - CMP AL,30H JAE NEXT CMP AL,39H JBE NEXT INC DL NEXT: INC SI JMP LP EXIT: MOV COUNT

41、 ,DL MOV AH ,4CH INT 21H CODE ENDS END START 3.16 已知在内存中从BLOCK单元起存放有20 个带符号字节数据,统计其中负数的个数并放入COUNT 单元。【解答】DATA SEGMENT BLOCK DB -7,1,12,-90,-70,34,-1,56,45,-12 DB -3,-4,23,0,12,11,-9,-8,67,-56 CN EQU $-BLOCK COUNT DB ? DATA ENDS CODE SEGMENT ASSUME DS:DATA ,CS:CODE START:MOV AX ,DATA MOV DS,AX MOV DL

42、 ,0 LEA SI,BLOCK MOV CX,CN LP: MOV AL ,SI TEST AL ,80H JZ NEXT INC DL NEXT: INC SI LOOP LP MOV COUNT ,DL MOV AH ,4CH INT 21H CODE ENDS END START 3.17 从键盘输入一个大写英文字母,将其转换为小写字母并显示出来,要求输入其它字符时,能够有出错提示信息。【解答】DATA SEGMENT MESS DB INPUP ERROR! ,0AH ,0DH ,$ DATA ENDS CODE SEGMENT ASSUME DS:DATA ,CS:CODE STA

43、RT:MOV AX ,DATA MOV DS,AX MOV AH ,01H INT 21H CMP AL,A JB ERR CMP AL,Z JA ERR ADD AL ,20H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 36 页 - - - - - - - - - MOV DL ,AL MOV AH ,02H INT 21H JMP EXIT ERR: MOV DX ,OFFSET MESS MOV AH ,09H INT 21H EXIT: MOV AH,02

44、H INT 21H CODE ENDS END START 3.18 比较宏指令与子程序,它们有何异同?它们的本质区别是什么?【解答】 宏与子程序两者的相同之处在于都是用来处理在编程过程中多次使用的功能程序的方法,两者均能简化源程序。两者的区别在于:(1)宏调用通过宏指令名进行,汇编时,随时调用随时展开,并不简化目标程序;子程序调用是在程序执行期间执行CALL 指令,代码只在目标程序中出现一次,所以也简化了目标程序。(2)宏调用时的参数由汇编程序通过实参转换成形参的方式传递,具有很大的灵活性。宏定义中允许设置若干形式参数代替数值、指令、寄存器、各种字符串等。宏调用时可用程序所需要的实际参数来替

45、换,使编程人员感觉非常灵活;而子程序的参数传递要麻烦得多。(3)宏调用在汇编时完成,不需要额外的时间开销;子程序调用和子程序返回都需要时间,还涉及堆栈操作。故若优先考虑速度,用宏指令;若优先考虑存储空间,用子程序。3.19 试定义将一位十六进制数转换为ASCII 码的宏指令。【解答】HEXTOA MACRO AND AL ,0FH CMP AL ,9 JNA HEXTOA1 ADD AL ,7H HEXTOA1:ADD AL ,30H ENDM 3.20 试定义一个字符串搜索宏指令,要求文本首地址和字符串首地址用形式参数。【解答】SCANC MACRO ADDRESS ,CHAR1 MOV S

46、I,ADDRESS MOV AL ,SI MOV DI,CHAR1 REPNZ SCASB ENDM 习题 4 4.1 半导体存储器有哪些优点?SRAM 、DRAM 各自有何特点?【解答】 特点是容量大、存取速度快、体积小、功耗低、集成度高、价格便宜。SRAM 存放的信息在不停电的情况下能长时间保留不变,只要不掉电所保存的信息就不会丢失。而DRAM 保存的内容即使在不掉电的情况下隔一定时间后也会自动消失,因此要定时对其进行刷新。4.2 ROM 、PROM 、EPROM 、E2PROM 、Flash Memory 各有何特点?用于何种场合?名师资料总结 - - -精品资料欢迎下载 - - - -

47、 - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 36 页 - - - - - - - - - 【解答】 掩膜式 ROM 中的信息是在生产厂家制造时写入的。制成后,信息只能读出不能改写。PROM 中晶体管的集电极接VCC,基极连接行线,发射极通过一个熔丝与列线相连。出厂时,晶体管阵列的熔丝完好。写入信息时,选中某个晶体管,输入高低电平保留或烧断熔丝对应1 和 0。烧断熔丝不能再复原,因此只能进行一次编程。EPROM 芯片的顶部开有一石英窗口,通过紫外线的照射可擦除片内原有信息,一块芯片可多次使用,缺点是只能进行整片写。E2PR

48、OM 是可用电擦除和编程的只读存储器,能在线读写,断电情况信息不丢失,能随机改写;其擦写次数可达1 万次以上,数据可保存10 年以上。可作为系统中可靠保存数据的存储器。Flash Memory 是新型的半导体存储器,可实现大规模电擦除,擦除功能可迅速清除整个存储器的所有内容;可高速编程;闪速存储器可重复使用,适用于文件需要经常更新的可重复编程应用中。对于需要实施代码或数据更新的嵌入性应用是一种理想的存储器。4.3 动态 RAM 为什么需要经常刷新?微机系统如何进行动态RAM 的刷新?【解答】动态RAM 是利用电容存储电荷的原理来保存信息的,由于电容会泄漏放电,所以,为保持电容中的电荷不丢失,必

49、须对动态RAM 不断进行刷新。DRAM 的刷新常采用两种方法:一是利用专门的DRAM 控制器实现刷新控制,如Intel 8203 控制器;二是在每个DRAM 芯片上集成刷新控制电路,使存储器件自身完成刷新,如Intel 2186/2187 。4.4 常用的存储器地址译码方式有哪几种?各自的特点是什么?【解答】线选译码:连接简单,无须专门的译码电路;缺点是地址不连续,CPU 寻址能力的利用率太低,会造成大量的地址空间浪费。全译码:将低位地址总线直接连至各芯片的地址线,余下的高位地址总线全部参加译码,译码输出作为各芯片的片选信号。可以提供对全部存储空间的寻址能力。部分译码:该方法只对部分高位地址总

50、线进行译码,以产生片选信号,剩余高位线可空闲或直接用作其它存储芯片的片选控制信号。4.5 半导体存储器在与微处理器连接时应注意哪些问题?【解答】 半导体存储器与CPU 连接前,要确定内存容量的大小并选择存储器芯片的容量大小,要考虑存储器地址分配问题;在进行存储器地址分配时,要将ROM 和 RAM 分区域安排。4.6 计算机在什么情况下需要扩展内存?扩展内存需要注意哪些问题?【解答】 单个存储芯片的存储容量是有限的,因此常常需要将多片存储器按一定方式组成具有一定存储单元数的存储器。4.7 已知某微机系统的RAM 容量为 4K8 位,首地址为2600H,求其最后一个单元的地址。【解答】 RAM 的

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

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

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

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