微机原理与接口技术1-8习题解答王玉良 下载本文

果不正确

10.计算机内是如何表示+进制数的?它有哪几种表示方法?

用4位二进制数表示1位+进制数,其中有6种非法代码(比如8421码中的1010B~1111B)不用。压缩的BCD数,及非压缩的BCD数(包括ASCII数)。

l 3.用+进制BCD码计算X=35+46,Y=35-46,Z=45+57,说明运算过程并解释结果。

35 + 46

7B

35

45

- 46

EF

+ 57

9C

+ 06

81

- 66

89

+ 66 (+进制修正)

02

C=1,溢出

C=0,正确

C=1,溢出

14.与用2的补码[X]补+[-Y]补来计算[X-Y]补一样,试用“+的补码”来计算1.13中的Y,并解释所得结果。

因为-46的“+的补码”是54(=100-46),所以35-46=35+(54)的补,计算如下:

35

+ 54

89 且C=1(补码加时,无进位表示有“借位”)

若把89看成“+的补码”表示的符号数,则它表示:-11(=-(100-89))。

19.若A=01000011B,说明用什么运算可完成下述操作: (1)把A的第0、2、4、6位变反; (2)把A的第1、2、3位清零; (3)把A的第4、5、6位置1;

(1)XOR A,01010101B (2)AND A,11110001B

(3)OR

A,01110000B

第2章 习题参考解答

1.8086处理器内部一般包括哪些主要部分?

8086处理器与其他处理器一样,其内部有算术逻辑部件、控制与定时部件、总线与总线接口部件、寄存器阵列等。按功能结构可分为两部分,即总线接口单元(BIU)与执行单元(EU)。BIU主要包括段寄存器、内部通信寄存器、指令指针、6字节指令队列、20位地址加法器和总线控制逻辑电路。EU主要包括通用寄存器阵列、算术逻辑单元、控制与定时部件等。

2.什么是总线? —般微机中有哪些总线?

所谓总线是指计算机中传送信息的一组通信导线,它将各个部件连接成—个整体。在微处理器内部各单元之间传送信息的总线称为片内总线;在微处理器多个外部部件之间传送信息的总线称为片外总线或外部总线。外部总线又分为地址总线、数据总线和控制

总线。随着计算机技术的发展,总线的概念越来越重要。微机中常用的系统总线有PC总线、ISA总线、PCI总线等。

3.什么是堆栈?它有什么用途?堆栈指针的作用是什么?

堆栈是一个按照后进先出的原则存取数据的部件,它是由栈区和栈指针组成的。堆栈的作用是:当主程序调用子程序、子程序调用子程序或中断时转入中断服务程序时,能把断点地址及有关的寄存器、标志位及时正确地保存下来,并能保证逐次正确地返回。堆栈除了有保存数据的栈区外,还有一个堆栈指针SP,它用来指示栈顶的位置。若是“向下生成”的堆栈,随着压入堆栈数据的增加,栈指针SP的值减少。但SP始终指向栈顶。

4.在8086 CPU中,FR寄存器有哪些标志位?分别说明各位的功能。

8086 CPU中设置了一个16位的标志寄存器FR,其中用了9位,还有7位保留。9位中有3位作为控制标志,6位作为状态标志。

IF:中断控制标志。当IF=1时,允许可屏蔽中断请求;当IF=0时,禁止可屏蔽中断请求。

TF:单步运行标志。当TF=1,单步运行;TF=0,连续运行程序。

DF:方向标志。当DF=0,串操作时地址按增量修改;DF=1,地址按减量修改。 SF:符号(负数)标志。当运算结果的最高位为1(负数)时,SF=1;反之SF=0。 ZF:零标志。当运算结果为0,则ZF=1;否则ZF=0。

AF:辅助进位/借位标志。当算术运算时低4位有进位/借位,则AF=1;否则AF=0。AF主要用于BCD码运算中进行结果调整。

PF:奇偶标志。当运算结果低8位中1的个数为偶数时PF=1;否则PF=0。

CF:进位/借位标志。当算术运算结果最高位有进位/借位时,CF=1;否则CF=0。逻辑运算时CF=0,循环移位指令也影响CF标志。

OF:溢出标志。当符号数算术运算结果有溢出时OF=1;否则OF=0。

5.在8086 CPU中,有哪些通用寄存器和专用寄存器?试说明专用寄存器的作用。

8086 CPU中有4个16位的通用寄存器,即AX、BX、CX、DX。每个16位寄存器又可分为2个,共8个8位寄存器:AH、AL、BH、BL、CH、CL、DH、DL。 4个段寄存器(即代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES)用来存放各段的起始地址。FR用来存放标志。IP用来存放程序地址的偏移量,它不能提供给程序员编程。SP是堆栈指针,专门用来指示堆栈位置。BP为基址指针,作为基址寄存器使用,它与变址寄存器SI、DI配合作为一个寻址方式。BP主要用来访问堆栈段中的数据。

6.若CS=8000H,试说明现行代码段可寻址的存储空间范围。

若CS=8000H,现行代码段可寻址的存储空间范围为80000H~8FFFFH。

7.设现行数据段位于存储器的B0000H~BFFFFH,试说明DS段寄存器的内容。

DS=B000H

8.设双字12345678H的起始地址为A001H,试说明这个双字在存储器中是如何存放的。

地址 RAM