微机原理与接口技术周荷琴课后习题答案.doc

上传人:gs****r 文档编号:1518379 上传时间:2019-03-04 格式:DOC 页数:21 大小:1.71MB
下载 相关 举报
微机原理与接口技术周荷琴课后习题答案.doc_第1页
第1页 / 共21页
微机原理与接口技术周荷琴课后习题答案.doc_第2页
第2页 / 共21页
微机原理与接口技术周荷琴课后习题答案.doc_第3页
第3页 / 共21页
微机原理与接口技术周荷琴课后习题答案.doc_第4页
第4页 / 共21页
微机原理与接口技术周荷琴课后习题答案.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、1微机原理与接口技术习题参考答案第一章(p20)1、参考答案:冯诺伊曼计算机的设计思想(EDVAC 方案:存储程序通用电子计算机方案):计算机分为计算器、控制器、存储器、输入和输出装置五个部分;计算机内采用二进制;将程序存储在计算机内,简称“程序存储” 。其中第三点是冯诺依曼计算机设计的精华,所以人们又把冯诺依曼原理叫做程序存储原理,即程序由指令组成并和数据一起存放在存储器中,机器则按程序指定的逻辑顺序把指令从存储器中读出来并逐条执行,从而自动完成程序描述的处理工作。冯诺伊曼计算机主要以运算器和控制器为中心,结构框图如下图所示。2、参考答案:微处理器就是中央处理器 CPU,是计算机的核心,单独

2、的 CPU 不能构成计算机系统;微型计算机由微处理器、主存储器、I/O 接口(注意:不是 I/O 设备)组成;而微型计算机系统除了包括微型计算机外,还有系统软件(即操作系统) 、应用软件、外存储器和 I/O 设备等。微型计算机系统结构如下图所示。3、答案略,见 p674、答案略,见图 2,或教材图 1-35、答案略,见 p12136、参考答案:由于 8086 微处理器的地址总线的宽度为 20 位,所以它可寻址 2201M 字节的存储空间;而 PentiumII 微处理器的地址总线的宽度为 36 位,所以它可寻址 236=64G字节的存储空间。7、参考答案:PCI(Peripheral Comp

3、onent Interconnect:外围设备互联 ),是 Intel 公司 1992年发布 486 微处理器时推出的 32/64 位标准总线,数据传输速率位 132MB/s,适用于2Pentium 微型计算机。PCI 总线是同步且独立于微处理器的具有即插即用(PNP:Plug and play,所谓即插即用,是指当板卡插入系统时,系统会自动对板卡所需资源进行分配,如基地址、中断号等,并自动寻找相应的驱动程序)的特性.PCI 总线允许任何微处理器通过桥接口连接到 PCI 总线上。USB(Universal Serial Bus:通用串行总线) ,是 1994 年由 Compaq,IBM,Mic

4、rosoft 等多家公司联合提出的。USB 有两种规格:V1.1 和 V2.0,USB 1.1 传输速度为 12M/秒,而 USB 2.0 提高至 360 到 480M/秒。USB 2.0 是向下兼容 USB 1.1,这意味着将一个 USB 2.0 的设备插到 USB 1.1 口中,只能按 USB 1.1 的速度运行。 USB 连接方式十分灵活,支持热插拔,不需要单独的供电系统。可以通过一条 4 线串行线缆访问 USB 设备,用于连接键盘、鼠标、投影仪、数码相机等,现在成为每一台计算机都必须配备的标准接口。8、参考答案:DB-Define byte 定义一个字节类型的变量,并为该变量分配内存D

5、WDefine word 定义一个字类型的变量,并为该变量分配内存DD.Define double word 定义一个双字类型的变量,并为该变量分配内存9、参考答案:(1)1101.01b=13.25d (或 13.25)(2)111001.0011b=57.1875(3)101011.0101b=43.3125(4)111.0001b=7.0625如何转换?例如:101011.0101b12 5+123+12+1+12-2+12-4= 32+8+2+1+0.25+0.0625=43.312510、参考答案:(1)A3.3H=1016+3+316 -1=163.1875(2)129.CH=11

6、62+216+9+1216-1=297.75(3)AC.DCH=1016+12+1316-1+1216-2=172.259375(4)FAB.3H=15162+1016+11+316-1=4011.187511、参考答案:(1)23=10111B=27Q=17H(2)107=1101011B=153Q=6BH(3)1238=10011010110B=2326Q=4D6H(4)92=1011100B=134Q=5CH12、参考答案:即把下面的数用 8 位补码表示(1)+32=00100000B (2)-12=11110100B,即求-12 的补码(3)+100=01100100B (4)-92=

7、10100100B,即求-92 的补码13、参考答案:压缩 BCD 码就是用 4 位二进制表示一个 09 之间的十进制数非压缩的 BCD 码就是用 8 位二进制表示一个 09 之间的十进制数,8 位二进制的最高 4位可以位任何数,例如 0000,09 的 ASCII 码实际上就是 09 的非压缩 BCD 码的表示。十进制数 压缩 BCD 码 非压缩 BCD 码102 0001 0000 0010 00000001 00000000 0000001044 0100 0100 00000100 00000100301 0011 0000 0001 00000011 00000000 0000000

8、11000 0001 0000 0000 0000 00000001 00000000 00000000 0000000014、参考答案:如果二进制最高位为 0,则该数为正数,反之,如果最高位为 1,则该数为负数,对其做求补运算就得到其相反数。(1)10000000B=-128(2)00110011B=+513(3)10010010B=-78(4)10001001B=-11915、参考答案:一个单精度浮点数占 4 个字节(双字) ,即 32 位二进制,其中符号位占 1位,指数部分占 8 位,尾数部分占 23 位。十进制数表示成单精度浮点数的方法如下:填充符号位,如果是正数填 0,如果是负数填

9、1将数表示成二进制形式,并进行规格化对于单精度浮点数,指数加上 127(7FH);对于双精度浮点数,指数要加上 1023 (3FFH),并填充指数位填充尾数位(1)+1.5 由于是正数,所以符号位为 0;写成二进制并规格化得到 1.120,由于 2 的指数是 0,所以指数部分以 0+127=01111111 填充;由知,尾数为 1,所以尾数部分以10000000000000000000000(1 后面跟 22 个 0)填充,综上,得到+1.5 的单精度浮点数表示为:+1.50 01111111 10000000000000000000000B写成十六进制数为:+1.5=3F C0 00 00H

10、(2)-10.625=C12A0000H(3)+100.25=42C88000H(4)-1200.0=C4960000H16、参考答案:(1)0 10000000 11000000000000000000000B=3.5(2)1 01111111 00000000000000000000000B=-1.0(3)0 10000000 10010000000000000000000B=3.125第二章(p55p56)1、答案略,见 p22242、答案略,见 p24273、答案略,见 p334、参考答案(其他可以参照本章相关内容): CPU:又称微处理器,是计算机系统的核心,一般由逻辑运算单元、控制

11、单元和一些寄存器组成。这些寄存器用于 CPU 在处理数据过程中数据的暂时保存。它主要完成从存储器中取指令,指令译码;算术逻辑运算;在处理器和存储器或 I/O 接口之间传送数据;程序的流向控制等。 存储器:是计算机系统的记忆部件,主要用来存储程序和数据。存储器一般分为内部存储器和外部存储器两大类。内部存储器(内存)存放当前正在使用或经常使用的程序和数据,CPU 可以直接访问;外存存放“海量”数据,相对来说不经常使用,CPU使用时要先调入内存。内部存储器又可以分为随机存取存储器(RAM)和只读存储器(ROM) 。计算机系统存储器的三层结构:按存储容量由低到高(或按存取速度由高到低)分为高速缓冲存储

12、器(CACHE) 、主存、辅存三层。 堆栈(Stack):堆栈是在存储器中开辟一个区域,用来存放需要暂时保存的数据;当前栈顶单元一般采用 SP 指向,栈底设在存储器的高地址区,堆栈地址由高到低增长;堆栈的工作方式是“后进先出” ,用入栈指令 PUSH 和出栈指令 POP 可将数据压入堆栈或从堆栈中弹出数据,栈顶指针 SP 的变化由 CPU 自动管理,入栈操作 SP 减小,出栈操作 SP 增大;堆栈的操作以字为单位。 机器语言(Machine Language):计算机唯一能接受和执行的语言。机器语言由二进制码组成,每一串二进制码叫做一条指令,一条指令规定了计算机执行的一个动作,一台计算机所能懂

13、得的指令的全体,叫做这个计算机的指令系统,不同型号的计算机的4指令系统不同。使用机器语言编写程序是一种相当烦琐的工作,既难于记忆也难于操作,编写出来的程序全是由 0 和 1 的数字组成,直观性差、难以阅读。不仅难学、难记、难检查、又缺乏通用性,给计算机的推广使用带来很大的障碍。 汇编语言(Assembly Language):是一种符号语言,它和机器语言几乎一一对应,在书写时使用字符串组成的助记符(Mnemonic)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序

14、,如微软的宏汇编程序 MASM.EXE。汇编程序把汇编语言翻译成机器语言的过程称为汇编。汇编语言比机器语言易于读写、调试和修改,同时具有机器语言全部优点。但在编写复杂程序时,相对高级语言代码量较大,而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植。 指令(Instruction):指令是能被计算机识别并执行的二进制代码,它规定了计算机能完成的某一操作。一条指令通常由两个部分组成:操作码+操作数。操作码:指明该指令要完成的操作的类型或性质,如取数、做加法或输出数据等。操作数:指明操作对象的内容或所在的存储单元地址(地址码) ,操作数在大多数情况下是地址码

15、,地址码可以有 03 个。9、参考答案:题号 段起始地址 段结束地址a)1000H 10000H 1FFFFHb)1234H 12340H 2233FHc)2300H 23000H 32FFFHd)E000H E0000H EFFFFHe)AB00H AB000H BAFFFH注意:段起始地址和段结束地址均为 20 位的物理地址;段起始的偏移量为 0000H,所以段起始地址为段基地址16偏移地址;由于每个段的最大容量为 64K 字节,段结束的偏移量为 FFFFH,所以段结束地址为段基地址16偏移地址段基地址16FFFFH10、参考答案:a) CS:IP=1000H:2000H 下一条指令的存储

16、器地址为(CS)16+(IP)=12000Hb) CS:IP=2000H:1000H 下一条指令的存储器地址为(CS)16+(IP)=21000Hc) CS:IP=1A00H:B000H 下一条指令的存储器地址为(CS)16+(IP)=25000Hd) CS:IP=3456H:AB09H 下一条指令的存储器地址为(CS)16+(IP)=3F069 H11、参考答案:a) DS=1000H,DI=2000H 存储单元地址为: (DS)16+(DI)=12000Hb) SS=2300H,BP=3200H 存储单元地址为:(SS)16+(BP)=26200Hc) DS=A000H,BX=1000H

17、存储单元地址为:(DS)16+(BX)=A1000Hd) SS=2900H,SP=3A00H 存储单元地址为:(SS)16+(SP)=2CA00H12、参考答案:堆栈段在存储器中的物理地址(即堆栈段的起始地址)为:(SS)16+0000H=35000H入栈 10 个字节后,SP=0800H-10=07F6H再出栈 6 个字节,SP=07F6H+6=07FCH13、参考答案:5示意图如左图所示,如果要读取这两个字,则需要对存储器进行三次操作。由于字 2A8CH 存放在偶地址开始的单元,所以只进行一次存储器操作就可以读取该字;由于字 1EE5H 存放在奇地址开始的单元,所以需要进行两次存储器操作才

18、可以读取该字。14、参考答案:段 段起始地址 段结束地址DS 10E40H 20E3FHES 10F40H 20F3FHSS 21F00H 31EFFHCS 31FF0H 41FEFH可见,DS 和 ES 有部分的重叠,重叠区域大小为:20E3FH-10F40H+1=FF00H 字节;ES 和 SS 之间有空隙,空隙的大小为:21F00H-20F3FH+1=0FC2H 字节;SS 和 CS 之间有空隙,空隙的大小为:31FF0H-31EFFH+1=00F2H 字节OF SF ZF CF 均为 017、参考答案:IF 标志位控制 INTR 引脚20、答案略,见 p4921、答案略第三章(p121

19、p124)1、参考答案:题号 源操作数寻址方式 目的操作数寻址方式(1) 立即寻址 寄存器寻址(2) 立即寻址 寄存器寻址(3) 寄存器间接寻址 寄存器寻址(4) 寄存器寻址 寄存器相对寻址(5) 寄存器寻址 寄存器相对寻址(6) 立即寻址 基址变址寻址(7) 基址变址寻址 寄存器寻址(8) 寄存器寻址 相对基址变址寻址(9) 直接寻址* 寄存器寻址(10) 寄存器寻址 寄存器寻址6*对于 IN 指令,如果是长格式,源操作数的数字不是立即数,而是端口地址,所以源操作数的寻址方式是直接寻址;如果是短格式,即端口地址存放在 DX 寄存器中,则源操作数的寻址方式为寄存器间接寻址,如:IN AX,DX

20、对于 OUT 指令,如果是长格式,目的操作数的数字不是立即数,而是端口地址,所以目的操作数的寻址方式是直接寻址,如 OUT 20H,AL;如果是短格式,即端口地址存放在DX 寄存器中,则目的操作数的寻址方式为寄存器间接寻址,如: OUT DX,AX2、参考答案:题号 源操作数寻址方式 源操作数有效地址源操作数物理地址指令执行后AX 中的内容(1) 立即寻址 - - 0200H(2) 直接寻址 0200H 10200H 2A10H(3) 寄存器寻址 - - 0200H(4) 寄存器相对寻址 0203H 10203H 5946H(5) 基址变址寻址 0202H 10202H 463CH(6) 相对

21、基址变址寻址 0204H 10204H 6B59H注:10200H10205H 单元存储状况如左图所示3、参考答案:题号 源操作数寻址方式 源操作数有效地址 源操作数物理地址(1) 直接寻址 0100H (DS)16EA=10100H(2) 直接寻址 0030H (DS)16EA=10030H(3) 寄存器间接寻址 0100H (DS)16EA=10100H(4) 寄存器间接寻址 0100H (ES)16EA=20100H(5) 寄存器间接寻址 00A0H (DS)16EA=100A0H(6) 寄存器相对寻址 0110H (DS)16EA=10110H(7) 寄存器间接寻址 0200H (SS

22、)16EA=35200H(8) 相对基址变址寻址 02D0H (SS)16EA=352D0H(9) 相对基址变址寻址 0154H (DS)16EA=10154H(10) 基址变址寻址 0224H (SS)16EA=35224H4、答案略5、参考答案:(1)该数据段的存储状况如下表所示:A B C D E00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 1624 10 43 4F 4D 50 55 54 45 52 34 12 FF 00 00 00 00 00 00 9A 45 00 127注:表格的第一行为变量

23、名称;第三行的每个小格子代表一个存储单元;第二行为存储单元的偏移地址以十六进制表示,从中可以看出各变量在数据段中的偏移地址,A 的偏移地址为 0000H,B 的偏移地址为 0002H,C 的偏移地址为 000AH,D 的偏移地址为000EH,E 的偏移地址为 0013H;第三行为存储单元的具体内容,以十六进制表示。(2)写出各条指令执行后的结果指令 执行后的结果MOV AL,A AL=24HMOV DX,C DX=1234HXCHG DL,A DL=24H,A 变量的第一个单元的内容变为 34HMOV BX,OFFSET B BX=0002HMOV CX,3BX CX=5550HLEA BX,

24、D BX=000EHLEA SI,E SI=0013HLEA DI,E DI=0013H6、参考答案:题号 错误原因(1) 两操作数的类型不一致(2) 立即数不能做目的操作数(3) 立即数不能直接传送给段寄存器(4) 两操作数不能同时为存储器操作数(5) IP 寄存器的内容不能由用户更改,而由系统自动修改(6) 正确(7) 两基址寄存器不能放在一起使用(8) 正确(9) 两变址寄存器不能放在一起使用(10) 不能取立即数的偏移地址,OFFSET 操作符使用不当(11) 存储单元的偏移地址应为字类型,不能放到字节寄存器中(12) XCHG 指令的操作数不能为立即数(13) IN 指令从端口读取的

25、数据只能放在累加器 AL 或 AX 中(14) OUT 指令的源操作数应为累加器,目的操作数应为端口地址,且如果端口地址超过 0FFH(255) ,端口地址应放在 DX 寄存器中7、程序片段如下:LEA BX,TABLEMOV AL,57MOV AH,0MOV DL,10DIV DLPUSH AXXLATMOV CH,ALPOP AXMOV AL,AHXLATMOV CL,AL8MOV BX,CX8、解答:SP 的变化情况 指令执行后 SP 内容PUSH AX SPSP-2 00FEHPUSH BX SPSP-2 00FCHPOP BX SPSP+2 00FEHPOP AX SPSP+2 01

26、00H9、已知 AX=1234H,BX=3456H,CX=5678H,DX=789AH,CF=1 则单独执行下列各条指令后,各相关寄存器内容是什么?题号 指令执行后相关寄存器内容(1) AL=0ACH(2) BX=8ACFH(3) AX=EB24H(4) BX=3455H(5) CX=0A988H(6) BL=57H(7) 乘积为双字存放在 DX:AX 中:DX=03B8H AX=0AD78H(8) 商存放在 AL 中,余数存放在 AH 中:AL=26H AH=64H10、参考程序片段如下:;定义数据段DATA SEGMENTARRAY DB 60,65,72,76,77,66,79NEW D

27、B 7 DUP(0)SUM DB 0AVERAGE DB 0DATA ENDS;程序代码如下MOV CX,7MOV SUM,0MOV SI,0NEXT:MOV AL,ARRAYSIADD SUM,AL ;总分存入 SUM 中ADD AL,5MOV NEWSI,ALINC SILOOP NEXTMOV AL,SUMMOV AH,0MOV CL,7DIV CLMOV AVERAGE,AL ;平均分存入 AVERAGE 中11、参考答案:9题号 结果 CF(1) AH=04H 0(2) BL=36H 0(3) AX=0DAF7H 0(4) CX=0FFF4H 0(5) 相关寄存器内容没有改变 0(6

28、) 相关寄存器内容没有改变 0(7) DX=0186H 0(8) AL=04H 0(9) BH=0F0H 0(10) AX=4A10H 0(11) BX=1E6CH 0(12) DX=4186H 012、参考答案:(1)程序片段如下:LEA SI,STRINGLEA DI,GET_CHARMOV CX,26CLDREP MOVSB(2)程序片段如下:先定义一个附加段,用来存放The computerEXTRA SEGMENTS2 DB The computerEXTRA ENDSLEA SI,STRINGLEA DI,S2MOV CX,12CLDREPZ CMPSBJZ NEXT;若比较的两个

29、字符串相同,则跳到 NEXT 执行MOV AL,0 ; 若比较的两个字符串不相同SUB CL,12NEG CLMOV BL,CL ;比较的次数存入 BL 中RETNEXT:MOV AL,1MOV BL,12RET(3)程序片段如下:LEA DI,STRING ;被查找的字符串 STRING 作为目的串MOV AL,如果没有找到,直接退出DEC DI ;找到用空格字符替换EXIT: RET(4)完整的程序如下*:;这里的 DATA 既作为数据段,又作为附加段,即数据段和附加段公用一个段DATA SEGMENTSTRING DB The Personal Computer 把字符串中大写字母传送到 CAPS 开始的单元中LEA SI,STRINGLEA DI,CAPSMOV CX,COUNTCLDAGAIN1:LODSBCMP AL,41HJB NEXT1CMP AL,5AHJA NEXT1STOSBNEXT1:LOOP AGAIN1;把字符串中其余字母传送到 CHART 开始的单元中LEA SI,STRINGLEA DI,CHARTMOV CX,COUNTCLDAGAIN2:LODSBCMP AL,41HJB NEXTCMP AL,5AH

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

当前位置:首页 > 企业管理资料库 > 生产营运

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。