微机原理与接口技术-习题解答(共41页).doc

上传人:飞****2 文档编号:13806646 上传时间:2022-05-01 格式:DOC 页数:41 大小:1.43MB
返回 下载 相关 举报
微机原理与接口技术-习题解答(共41页).doc_第1页
第1页 / 共41页
微机原理与接口技术-习题解答(共41页).doc_第2页
第2页 / 共41页
点击查看更多>>
资源描述

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

1、精选优质文档-倾情为你奉上微机原理与接口技术习题解答 习题22.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。E

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

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

4、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引脚上发来的可屏蔽中断请求信号;IF=0,则禁止接受可屏蔽中断请求DF方向标志DF=1,字符串操作指令按递减的顺序对字符串进行处理;DF=0,字符串操作指令按递增的顺序进行处

5、理2.6 已知堆栈段寄存器(SS)=2400H,堆栈指针(SP)=1200H,计算该堆栈栈顶的实际地址,并画出堆栈示意图。【解答】(SS)=2400H,(SP)=1200H图2-1 堆栈示意图SP堆栈段栈底;PA=(SS)10H(SP)= 2400H10H1200H = 25200H。2.7 8086的存储器采用 奇偶存储体 结构,数据在内存中的存放规定是 低字节存放在低地址中,高字节存放在高地址中,以低地址为字的地址,规则字是指 低字节地址为偶地址的字,非规则字是指 低字节的地址为奇地址的字。2.8 解释逻辑地址、偏移地址、有效地址、物理地址的含义,8086存储器的物理地址是如何形成的?怎样

6、进行计算?【解答】逻辑地址:表示为段地址:偏移地址,书写程序时用到,一个存储单元可对应出多个逻辑地址;偏移地址:是某一存储单元距离所在逻辑段的开始地址的字节个数。有效地址:是指令中计算出的要访问的存储单元的偏移地址。物理地址:是CPU访问存储器时用到的20位地址,是存储单元的唯一的编号。物理地址计算公式:物理地址 = 段地址10H有效地址(或偏移地址)2.9 8086系统中的存储器分为几个逻辑段?各段之间的关系如何?每个段寄存器的作用是什么?【解答】8086CPU将1MB的存储空间分成逻辑段来进行管理:每个逻辑段最小为16B。所以最多可分成64K个段;每个逻辑段最大为64KB,最少可分成16个

7、逻辑段。各段的起始位置由程序员指出,可以彼此分离,也可以首尾相连、重叠或部分重叠。4个16位的段寄存器用来存放每一个逻辑段的段起始地址:CS中为代码段的起始地址;DS中为数据段的起始地址;SS中为堆栈段的起始地址;ES中为附加段的起始地址。2.10 I/O端口有哪两种编址方式,各自的优缺点是什么?【解答】I/O端口有两种编址方式:统一编址和独立编址。统一编址方式是将I/O端口与内存单元统一起来进行编号,即包括在1MB的存储器空间中,看作存储器单元,每个端口占用一个存储单元地址。该方式主要优点是不需要专门的I/O指令,对I/O端口操作的指令类型多;缺点是端口要占用部分存储器的地址空间,不容易区分

8、是访问存储器还是外部设备。独立编址的端口单独构成I/O地址空间,不占用存储器地址。优点是地址空间独立,控制电路和地址译码电路简单,采用专用的I/O指令,使得端口操作的指令在形式上与存储器操作指令有明显区别,程序容易阅读;缺点是指令类别少,一般只能进行传送操作。2.11 8086的最大工作模式和最小各种模式的主要区别是什么?如何进行控制?【解答】两种模式的主要区别是:8086工作在最小模式时,系统只有一个微处理器,且系统所有的控制信号全部由8086 CPU提供;在最大模式时,系统由多个微处理器/协处理器构成的多机系统,控制信号通过总线控制器产生,且系统资源由各处理器共享。8086CPU工作在哪种

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

10、字数据268AH和357EH,它们在8086存储器中的地址分别为00120H和00124H,试画出它们的存储示意图。【解答】存储示意图参见图2-2。8AH00120H50H00510H26H00121H65H00511H00122H6EH00512H00123H74H00513H7EH00124H69H00514H35H00125H75H00515H6DH00516H图2-2 数据的存储示意 图2-3 字符的存储示意2.14 找出字符串“Pentium”的ASCII码,将它们依次存入从00510H开始的字节单元中,画出它们存放的内存单元示意图。 【解答】存储示意图参见图2-3。2.15 在内存

11、中保存有一个程序段,其位置为(CS)=33A0H,(IP)=0130H,当计算机执行该程序段指令时,分析实际启动的物理地址是多少。【解答】逻辑地址(CS):(IP)= 33A0H:0130H,计算出对应物理地址PA= (CS)10H(IP)= 33A0H10H0130H = 33B30H2.16 什么是总线周期?8086CPU的读/写总线周期各包含多少个时钟周期?什么情况下需要插入等待周期TW,什么情况下会出现空闲状态TI?【解答】8086CPU经外部总线对存储器或I/O端口进行一次信息的输入或输出过程所需要的时间,称为总线周期。8086CPU的读/写总线周期通常包括T1、T2、T3、T4状态

12、4个时钟周期。在高速的CPU与慢速的存储器或I/O接口交换信息时,为了防止丢失数据,会由存储器或外设通过READY信号线,在总线周期的T3和T4之间插入1个或多个必要的等待状态TW,用来进行必要的时间补偿。在BIU不执行任何操作的两个总线周期之间会出现空闲状态TI。2.17 80286CPU的内部结构与8086相比,有哪些增加的部件?其主要特点和功能是什么?【解答】80286 CPU的可编程寄存器在8086寄存器结构的基础上,增加了一个16位的机器状态字寄存器MSW。而且为适应80286性能的提高,在8086的状态标志寄存器F中,又增加使用了3个位,即IOPLI/O特权层标志(占用12、13位

13、)和NT嵌套任务标志(占用14位)。NT标志位表示当前执行的任务嵌套于另一任务中,IOPL用来定义当前任务的I/O特权层。2.18 简述Pentium微处理器的内部组成结构和主要部件的功能,Pentium微处理器的主要特点有哪些?【解答】Pentium微处理器的主要部件包括总线接口部件、指令高速缓存器、数据高速缓存器、指令预取部件与转移目标缓冲器、寄存器组、指令译码部件、具有两条流水线的整数处理部件(U流水线和V流水线)、以及浮点处理部件FPU等。各主要部件的功能分析如下:(1)整数处理部件:U流水线和V流水线都可以执行整数指令,U流水线还可执行浮点指令。因此能够在每个时钟周期内同时执行两条整

14、数指令。(2)浮点处理部件FPU:高度流水线化的浮点操作与整数流水线集成在一起。微处理器内部流水线进一步分割成若干个小而快的级段。(3)独立的数据和指令高速缓存Cache:两个独立的8KB指令和8KB数据Cache可扩展到12KB,允许同时存取,内部数据传输效率更高。两个Cache采用双路相关联的结构,每路128个高速缓存行,每行可存放32B。数据高速缓存两端口对应U、V流水线。(4)指令集与指令预取:指令预取缓冲器顺序地处理指令地址,直到它取到一条分支指令,此时存放有关分支历史信息的分支目标缓冲器BTB将对预取到的分支指令是否导致分支进行预测。(5)分支预测:指令预取处理中增加了分支预测逻辑

15、,提供分支目标缓冲器来预测程序转移。Pentium微处理器的主要特点如下:(1)采用超标量双流水线结构;(2)采用两个彼此独立的高速缓冲存储器;(3)采用全新设计的增强型浮点运算器(FPU);(4)可工作在实地址方式、保护方式、虚拟8086方式以及SMM系统管理方式;(5)常用指令进行了固化及微代码改进,一些常用的指令用硬件实现。2.19 什么是虚拟存储技术?该技术的主要优点有那些?【解答】虚拟存储技术是一种存储管理技术,采用硬件、软件相结合的方法,由系统自动分批将程序调入内存,不断地用新的程序段来覆盖内存中暂时不用的老程序段。虚拟存储技术的主要优点有:(1)扩大了程序可访问的存储空间;(2)

16、便于实施多任务的保护和隔离;(3)便于操作系统实现内存管理。2.20 简要分析Pentium系列微处理器的4种工作方式具备的特点。【解答】(1)实地址方式:系统加电或者复位时进入实地址方式,使用16位80X86的寻址方式、存储器管理和中断管理;使用20位地址寻址1MB空间,可用32位寄存器执行大多数指令。(2)保护方式:支持多任务运行环境,对任务进行隔离和保护,进行虚拟存储管理能够充分发挥Pentium微处理器的优良性能。(3)虚拟8086方式:是保护模式下某个任务的工作方式,允许运行多个8086程序,使用8086的寻址方式,每个任务使用1MB的内存空间。(4)系统管理方式:主要用于电源管理,

17、可使处理器和外设部件进入“休眠”,在有键盘按下或鼠标移动时“唤醒”系统使之继续工作;利用SMM可以实现软件关机。习题33.1 简要分析8086的指令格式由哪些部分组成,什么是操作码?什么是操作数?寻址和寻址方式的含义是什么?8086指令系统有哪些寻址方式?【解答】8086的指令格式由操作码和操作数字段组成。操作码:要完成的操作。操作数:参与操作的对象。寻址:寻找操作数或操作数地址的过程。寻址方式:指令中给出的找到操作数或操作数地址采用的方式。8086指令系统的寻址方式主要有立即数寻址、寄存器寻址、存储器寻址和I/O端口寻址。其中,存储器寻址可进一步分为直接寻址、寄存器间接寻址、寄存器相对寻址、

18、基址变址寻址、相对基址变址寻址;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,1000H(4) MOV AX,VAL (5) MOV AX,BX (6) MOV AX,ES:BX(7) MOV AX,BP (8) MOV AX,SI (9) MO

19、V 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 = 21000H(4) MOV AX,VAL直接寻址,EA = VAL = 0050H,PA =(DS)10HEA = 2000H10H0050H = 20050H(5) MOV AX,BX寄存器间接寻址,EA =(B

20、X)= 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 = 1500H10H0010H = 15010H(8) MOV AX,SI寄存器间接寻址,EA =(SI)= 00A0H,PA =(DS)10HEA = 2000H10H00A0H = 200A0H(9) MOV AX,BX+10相对寄存器寻址,

21、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 = (BX)(SI)= 0100H00A0H = 01A0H,PA = (DS)10HEA = 2000H10H01A0H = 201A0H(12) MOV AX,VALBXSI相对基址变址寻址,EA = (BX)(SI

22、)VAL= 0100H00A0H0050H = 01F0H,PA =(DS)10HEA = 2000H10H01F0H = 201F0H3.3 给定寄存器及存储单元的内容为:(DS) = 2000H,(BX) = 0100H,(SI) = 0002H,(20100) = 32H,(20101) = 51H,(20102) = 26H,(20103) = 83H,(21200) = 1AH,(21201) = B6H,(21202) = D1H,(21203) = 29H。试说明下列各条指令执行完后,AX寄存器中保存的内容是什么。(1) MOV AX,1200H (2) MOV AX,BX (3

23、) 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 = 2000H10H1200H = 21200H,执行后,(AX)= B61AH(4) MOV AX,BXEA = (BX)= 0100H,PA =(DS)10HEA = 2000H10H0100H = 20100H,执行后

24、,(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 = 2000H10H0102H = 20102H,执行后,(AX)= 29D1H3.4 分析下列指令的正误,对于错误的指令要说明原因并加以改正。(1) MOV AH,BX (2) MOV BX,SI(3) MOV AX,SIDI (4)

25、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签不能有段跨越前缀,去掉ES:,改为MOV MYDATBXSI

26、,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 (4) JMP LABSI(5) JNZ VAR1 (6) JMP NEAR LA

27、B【解答】(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错误,条件跳转指令只能进行段内短跳转,所以后面只能跟短标号。可改为JNZ LAB(6) JMP NEAR LAB错误,缺少运算符PTR,可改为JMP NEAR PTR LAB注:本题错误改

28、正部分有的答案并不唯一,可参考原题题意改成合法形式。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寄存器的内容相加,结果存入DX寄存器中; (2) 用BX和SI的基址变址寻址方式,把存储器中的一个字节与AL内容相加,并保存在AL寄存器中; (3) 用寄存器BX和位移量21B5H的变址寻址方式把存储器中的一个字和(C

29、X)相加,并把结果送回存储器单元中; (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,25H3.8 写出将首地址为BLOCK的字数组的第6个字送到CX寄存器的指令序列,要求分别使用以下几种寻址方式:(1) 以BX的寄存器间接寻址(2) 以BX的寄存器相对寻址(3) 以BX、SI的基址变址寻址【解答】(1) L

30、EA 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= 【解答】AX= 3228H 3.10 下面是将内存一字节数据高4位和低4位互换并放回原位置的程序,找出错误并改正。 DATA SEGMENTDD1 DB 23HDATA ENDSCODE SEGMENTASSUME CS:

31、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,应使用ROR或ROL,改为ROR AL,CL3.11 已知用寄存器BX作地址指针,自BUF所指的内存单元开始连续存放着3个无符号数字数据,编程序求它们的和,并将结果存放在这3个数之后。【解答】参考程序如下:LEA BX,BUFM

32、OV AX,BXADD AX,BX+2ADD AX,BX+4MOV BX+6,AX3.12 分析汇编语言源程序应该由哪些逻辑段组成?各段的作用是什么?语句标号和变量应具备哪3种属性?【解答】汇编语言源程序应该由若干个逻辑段组成,可以有若干个数据段、代码段、堆栈段和附加数据段,至少要有一个代码段。各段的作用如下:(1)代码段用来存放程序和常数。(2)数据段用于数据的保存。(3)堆栈段用于保护数据,尤其在子程序调用、中断过程中进行现场信息保护。(4)附加数据段用于数据的保存。语句标号和变量应具备的3种属性:段属性、偏移属性和类型属性。3.13 执行完下列程序后,回答指定的问题。MOV AX,0MO

33、V BX,2MOV CX,50LP:ADD AX,BXADD BX,2LOOP LP问:(1) 该程序的功能是 。(2) 程序执行完成后,(AX)= 。【解答】(1)完成0到100间所有偶数求和的功能。(2)25503.14 编写程序,计算下面函数的值。【解答】DATA SEGMENT X DW 34 S DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AX,X ;将X送到AX中 CMP AX,0 ;(AX)0吗? JL DOUB ;是,转向doub CMP AX,10 ;否,(ax

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

35、 (?) COUNT DB ?DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART:MOV AX,DATA MOV DS,AX MOV DL,0 LEA SI,BLOCKLP: MOV AH,1INT 21HCMP AL,0DHJZ EXIT MOV SI,AL CMP AL,30HJAE NEXTCMP AL,39HJBE NEXT INC DLNEXT: INC SI JMP LPEXIT: MOV COUNT,DLMOV AH,4CH INT 21HCODE ENDS END START3.16 已知在内存中从BLOCK单元起存放有20个带符

36、号字节数据,统计其中负数的个数并放入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 ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART:MOV AX,DATA MOV DS,AX MOV DL,0 LEA SI,BLOCK MOV CX,CNLP: MOV AL,SI TEST AL,80H JZ NEXT INC DLNEXT: INC SI LO

37、OP LP MOV COUNT,DL MOV AH,4CH INT 21HCODE ENDS END START3.17 从键盘输入一个大写英文字母,将其转换为小写字母并显示出来,要求输入其它字符时,能够有出错提示信息。【解答】DATA SEGMENT MESS DB INPUP ERROR!,0AH,0DH,$DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART:MOV AX,DATA MOV DS,AX MOV AH,01H INT 21H CMP AL,A JB ERR CMP AL,Z JA ERR ADD AL,20H MOV DL,AL

38、 MOV AH,02H INT 21H JMP EXITERR: MOV DX,OFFSET MESS MOV AH,09H INT 21HEXIT: MOV AH,02H INT 21HCODE ENDS END START3.18 比较宏指令与子程序,它们有何异同?它们的本质区别是什么?【解答】宏与子程序两者的相同之处在于都是用来处理在编程过程中多次使用的功能程序的方法,两者均能简化源程序。两者的区别在于:(1)宏调用通过宏指令名进行,汇编时,随时调用随时展开,并不简化目标程序;子程序调用是在程序执行期间执行CALL指令,代码只在目标程序中出现一次,所以也简化了目标程序。(2)宏调用时的参

39、数由汇编程序通过实参转换成形参的方式传递,具有很大的灵活性。宏定义中允许设置若干形式参数代替数值、指令、寄存器、各种字符串等。宏调用时可用程序所需要的实际参数来替换,使编程人员感觉非常灵活;而子程序的参数传递要麻烦得多。(3)宏调用在汇编时完成,不需要额外的时间开销;子程序调用和子程序返回都需要时间,还涉及堆栈操作。故若优先考虑速度,用宏指令;若优先考虑存储空间,用子程序。3.19 试定义将一位十六进制数转换为ASCII码的宏指令。【解答】HEXTOA MACRO AND AL,0FH CMP AL,9JNA HEXTOA1ADD AL,7HHEXTOA1:ADD AL,30HENDM3.20

40、 试定义一个字符串搜索宏指令,要求文本首地址和字符串首地址用形式参数。【解答】SCANC MACRO ADDRESS,CHAR1MOV SI,ADDRESSMOV AL,SIMOV DI,CHAR1REPNZ SCASBENDM习题44.1 半导体存储器有哪些优点?SRAM、DRAM各自有何特点?【解答】特点是容量大、存取速度快、体积小、功耗低、集成度高、价格便宜。SRAM存放的信息在不停电的情况下能长时间保留不变,只要不掉电所保存的信息就不会丢失。而DRAM保存的内容即使在不掉电的情况下隔一定时间后也会自动消失,因此要定时对其进行刷新。4.2 ROM、PROM、EPROM、E2PROM、Fl

41、ash Memory各有何特点?用于何种场合?【解答】掩膜式ROM中的信息是在生产厂家制造时写入的。制成后,信息只能读出不能改写。PROM中晶体管的集电极接VCC,基极连接行线,发射极通过一个熔丝与列线相连。出厂时,晶体管阵列的熔丝完好。写入信息时,选中某个晶体管,输入高低电平保留或烧断熔丝对应1和0。烧断熔丝不能再复原,因此只能进行一次编程。EPROM芯片的顶部开有一石英窗口,通过紫外线的照射可擦除片内原有信息,一块芯片可多次使用,缺点是只能进行整片写。E2PROM是可用电擦除和编程的只读存储器,能在线读写,断电情况信息不丢失,能随机改写;其擦写次数可达1万次以上,数据可保存10年以上。可作为系统中可靠保存数据的存储器。Flash Memory是新型的半导体存储器,可实现大规模电擦除,擦除功能可迅速清除整个存储器的所有内容;可高速编程;闪速存储器可重复使用,适用于文件需要经常更新的可重复编程应用中。对于需要实施代码或数据更新的嵌入性应用是一种理想的存储器。4.3 动态RAM为什么需要经常刷新?微机系统如何进行动态RAM的刷新?【解答】动态RAM是利用电容存储电荷的原理来保存

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

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

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

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