微机原理与接口技术周荷琴课后习题答案 下载本文

微机原理与接口技术习题参考答案

第一章(p20)

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

2、参考答案:微处理器就是中央处理器CPU,是计算机的核心,单独的CPU不能构成计算机系统;微型计算机由微处理器、主存储器、I/O接口(注意:不是I/O设备)组成;而微型计算机系统除了包括微型计算机外,还有系统软件(即操作系统)、应用软件、外存储器和I/O设备等。微型计算机系统结构如下图所示。

3、答案略,见p6~7

4、答案略,见图2,或教材图1-3 5、答案略,见p12~13

6、参考答案:由于8086微处理器的地址总线的宽度为20位,所以它可寻址220=1M字节的存储空间;而PentiumII微处理器的地址总线的宽度为36位,所以它可寻址236=64G字节的存储空间。

7、参考答案:①PCI(Peripheral Component Interconnect:外围设备互联),是Intel公司1992年发布486微处理器时推出的32/64位标准总线,数据传输速率位132MB/s,适用于Pentium

微型计算机。PCI总线是同步且独立于微处理器的具有即插即用(PNP:Plug and play,所谓即插即用,是指当板卡插入系统时,系统会自动对板卡所需资源进行分配,如基地址、中断号等,并自动寻找相应的驱动程序)的特性.PCI总线允许任何微处理器通过桥接口连接到PCI总线上。

②USB(Universal Serial Bus:通用串行总线),是1994年由Compaq,IBM,Microsoft等多家公司联合提出的。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 定义一个字节类型的变量,并为该变量分配内存 DW…Define 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.0101b=1×25+1×23+1×2+1+1×2-2+1×2-4= 32+8+2+1+0.25+0.0625=43.3125

10、参考答案:(1)A3.3H=10×16+3+3×16-1=163.1875 (2)129.CH=1×162+2×16+9+12×16-1=297.75

(3)AC.DCH=10×16+12+13×16-1+12×16-2=172.259375 (4)FAB.3H=15×162+10×16+11+3×16-1=4011.1875 11、参考答案:(1)23=10111B=27Q=17H (2)107=1101011B=153Q=6BH

(3)1238=10011010110B=2326Q=4D6H (4)92=1011100B=134Q=5CH

12、参考答案:即把下面的数用8位补码表示 (1)+32=00100000B (2)-12=11110100B,即求-12的补码 (3)+100=01100100B (4)-92=10100100B,即求-92的补码

13、参考答案:压缩BCD码就是用4位二进制表示一个0~9之间的十进制数 非压缩的BCD码就是用8位二进制表示一个0~9之间的十进制数,8位二进制的最高4位可以位任何数,例如0000,0~9的ASCII码实际上就是0~9的非压缩BCD码的表示。 十进制数 102 44 301 1000 压缩BCD码 0001 0000 0010 0100 0100 0011 0000 0001 0001 0000 0000 0000 非压缩BCD码 00000001 00000000 00000010 00000100 00000100 00000011 00000000 00000001 00000001 00000000 00000000 00000000 14、参考答案:如果二进制最高位为0,则该数为正数,反之,如果最高位为1,则该数为负数,对其做求补运算就得到其相反数。 (1)10000000B=-128 (2)00110011B=+51 (3)10010010B=-78

(4)10001001B=-119

15、参考答案:一个单精度浮点数占4个字节(双字),即32位二进制,其中符号位占1位,指数部分占8位,尾数部分占23位。十进制数表示成单精度浮点数的方法如下:①填充符号位,如果是正数填0,如果是负数填1

②将数表示成二进制形式,并进行规格化③对于单精度浮点数,指数加上127(7FH);对于双精度浮点数,指数要加上1023 (3FFH),并填充指数位④填充尾数位(1)+1.5 ①由于是正数,所以符号位为0;②写成二进制并规格化得到1.1×20,③由于2的指数是0,所以指数部分以0+127=01111111填充;④由②知,尾数为1,所以尾数部分以

10000000000000000000000(1后面跟22个0)填充,综上,得到+1.5的单精度浮点数表示为:

+1.5=0 01111111 10000000000000000000000B 写成十六进制数为:+1.5=3F C0 00 00H (2)-10.625=C12A0000H (3)+100.25=42C88000H (4)-1200.0=C4960000H 16、参考答案:

(1)0 10000000 11000000000000000000000B=3.5 (2)1 01111111 00000000000000000000000B=-1.0 (3)0 10000000 10010000000000000000000B=3.125

第二章(p55~p56) 1、答案略,见p22~24 2、答案略,见p24~27 3、答案略,见p33

4、参考答案(其他可以参照本章相关内容):

① CPU:又称微处理器,是计算机系统的核心,一般由逻辑运算单元、控制单元和一些寄

存器组成。这些寄存器用于CPU在处理数据过程中数据的暂时保存。它主要完成从存储器中取指令,指令译码;算术逻辑运算;在处理器和存储器或I/O接口之间传送数据;程序的流向控制等。

② 存储器:是计算机系统的记忆部件,主要用来存储程序和数据。存储器一般分为内部存

储器和外部存储器两大类。内部存储器(内存)存放当前正在使用或经常使用的程序和数据,CPU可以直接访问;外存存放“海量”数据,相对来说不经常使用,CPU使用时要先调入内存。内部存储器又可以分为随机存取存储器(RAM)和只读存储器(ROM)。计算机系统存储器的三层结构:按存储容量由低到高(或按存取速度由高到低)分为高速缓冲存储器(CACHE)、主存、辅存三层。 ③ 堆栈(Stack):堆栈是在存储器中开辟一个区域,用来存放需要暂时保存的数据;当前

栈顶单元一般采用SP指向,栈底设在存储器的高地址区,堆栈地址由高到低增长;堆栈的工作方式是“后进先出”,用入栈指令PUSH 和出栈指令POP可将数据压入堆栈或从堆栈中弹出数据,栈顶指针SP的变化由CPU自动管理,入栈操作SP减小,出栈操作SP增大;堆栈的操作以字为单位。 ④ 机器语言(Machine Language):计算机唯一能接受和执行的语言。机器语言由二进制码

组成,每一串二进制码叫做一条指令,一条指令规定了计算机执行的一个动作,一台计算机所能懂得的指令的全体,叫做这个计算机的指令系统,不同型号的计算机的指令系统不同。使用机器语言编写程序是一种相当烦琐的工作,既难于记忆也难于操作,编写

出来的程序全是由0和1的数字组成,直观性差、难以阅读。不仅难学、难记、难检查、又缺乏通用性,给计算机的推广使用带来很大的障碍。 ⑤ 汇编语言(Assembly Language):是一种符号语言,它和机器语言几乎一一对应,在书

写时使用字符串组成的助记符(Mnemonic)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,如微软的宏汇编程序MASM.EXE。汇编程序把汇编语言翻译成机器语言的过程称为汇编。汇编语言比机器语言易于读写、调试和修改,同时具有机器语言全部优点。但在编写复杂程序时,相对高级语言代码量较大,而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植。 ⑥ 指令(Instruction):指令是能被计算机识别并执行的二进制代码,它规定了计算机能完

成的某一操作。一条指令通常由两个部分组成:操作码+操作数。操作码:指明该指令要完成的操作的类型或性质,如取数、做加法或输出数据等。操作数:指明操作对象的内容或所在的存储单元地址(地址码),操作数在大多数情况下是地址码,地址码可以有0~3个。 9、参考答案: 题号 a)1000H b)1234H c)2300H d)E000H e)AB00H 段起始地址 10000H 12340H 23000H E0000H AB000H 段结束地址 1FFFFH 2233FH 32FFFH EFFFFH BAFFFH 注意:①段起始地址和段结束地址均为20位的物理地址;

②段起始的偏移量为0000H,所以段起始地址为段基地址×16+偏移地址;

③由于每个段的最大容量为64K字节,段结束的偏移量为FFFFH,所以段结束地址为段基地址×16+偏移地址=段基地址×16+FFFFH 10、参考答案:

a) CS:IP=1000H:2000H 下一条指令的存储器地址为(CS)×16+(IP)=12000H b) CS:IP=2000H:1000H 下一条指令的存储器地址为(CS)×16+(IP)=21000H c) CS:IP=1A00H:B000H 下一条指令的存储器地址为(CS)×16+(IP)=25000H d) CS:IP=3456H:AB09H 下一条指令的存储器地址为(CS)×16+(IP)=3F069 H 11、参考答案:

a) DS=1000H,DI=2000H 存储单元地址为:(DS)×16+(DI)=12000H b) SS=2300H,BP=3200H 存储单元地址为:(SS)×16+(BP)=26200H c) DS=A000H,BX=1000H 存储单元地址为:(DS)×16+(BX)=A1000H d) SS=2900H,SP=3A00H 存储单元地址为:(SS)×16+(SP)=2CA00H 12、参考答案:

①堆栈段在存储器中的物理地址(即堆栈段的起始地址)为: (SS)×16+0000H=35000H

②入栈10个字节后,SP=0800H-10=07F6H ③再出栈6个字节,SP=07F6H+6=07FCH 13、参考答案:

示意图如左图所示,如果要读取这两个字,则需要对存储器进行三次操作。

①由于字2A8CH存放在偶地址开始的单元,所以只进行一次存储器操作就可以读取该字;

②由于字1EE5H存放在奇地址开始的单元,所以需要进行两次存储器操作才可以读取该字。

14、参考答案: 段 DS ES SS CS 段起始地址 10E40H 10F40H 21F00H 31FF0H 段结束地址 20E3FH 20F3FH 31EFFH 41FEFH 可见,①DS和ES有部分的重叠,重叠区域大小为:20E3FH-10F40H+1=FF00H字节;②ES和SS之间有空隙,空隙的大小为:21F00H-20F3FH+1=0FC2H字节;③SS和CS之间有空隙,空隙的大小为:31FF0H-31EFFH+1=00F2H字节 ④OF SF ZF CF 均为0

17、参考答案:IF标志位控制INTR引脚

20、答案略,见p49 21、答案略

第三章(p121~p124) 1、参考答案: 题号 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) 源操作数寻址方式 立即寻址 立即寻址 寄存器间接寻址 寄存器寻址 寄存器寻址 立即寻址 基址变址寻址 寄存器寻址 直接寻址* 寄存器寻址 目的操作数寻址方式 寄存器寻址 寄存器寻址 寄存器寻址 寄存器相对寻址 寄存器相对寻址 基址变址寻址 寄存器寻址 相对基址变址寻址 寄存器寻址 寄存器寻址