微机原理习题答案1234章 下载本文

(2)00011011B (3)00110011B (4)10100011B (5)11101000B (6)10110111B (7)11010001B (8)11B

13. 设下列四组为8位二进制补码表示的十六进制数,计算a+b和a-b,并判断其结果是否

溢出:

(1)a=37H, b=57H; (2)a=0B7H, b=0D7H; (3)a=0F7H, b=0D7H; (4)a=37H, b=0C7H 解:(1)a+b=8EH溢出,a-b=E0H未溢出 (2)8EH未溢出,E0H未溢出

(3)CEH未溢出,20H未溢出 (4)FEH未溢出70H未溢出

14. 求下列组合BCD数的二进制和十六进制表示形式: (1)3251(2)12907(3)2006 解:(1)0011 0010 0101 0001B = 3251H (2)0001 0010 1001 0111B = 12907H (3)0010 0000 0000 0110B = 2006H

15. 将下列算式中的十进制数表示成组合BCD码进行运算,并用加6/减6修正其结果: (1)38+42;(2)56+77;(3)99+88;(4)34+69; (5)38-42;(6)77-56;(7)15-76;(8)89-23

解:(1) 0011 1000B + 0100 0010B = 0111 1010B 低BCD码位需要加6修正 0111 1010B + 0000 0110B = 1000 0000B = 80BCD

(2) 0101 0110B + 0111 0111B = 1100 1101B 高、低BCD码位都需要加6修正 1100 1101B + 0110 0110B = 0001 0011 0011B=133BCD

(3) 1001 1001B+1000 1000B = 0001 0010 0001B 高、低BCD码位都需要加6修正

0001 0010 0001B +0110 0110B = 0001 1000 0111B=187BCD

(4) 0011 0100B + 0110 1001B = 1001 1101B 低BCD码位需要加6修正

- 4 -

1001 1101B + 0000 0110B = 1010 0011B 修正结果使高BCD码位需要加6修正 1010 0011B +0110 0000B = 0001 0000 0011B = 103BCD

(5) 00111000B-01000010B =(-1)1111 0110B 高 BCD码位需要减6修正 (-1)1111 0110B -0110 0000B =(-1)1001 0110B=-100+96=-4BCD (6)01110111B-01010110B = 0010 0001B = 21BCD

(7) 00011001B-01110110B =(-1)1001 1111B 高、低BCD码位都需要减6修正 (-1)1001 1111B -01100110B =(-1)0011 1001B = -100+39 = -61BCD (8)10001001B-00100011B = 0110 0110B = 66BCD

16. 将下列字符串表示成相应的ASCII码(用十六进制数表示): (1)Example 1;(2)XiDian University;(3)-108.652; (4)How are you?;(5)Computer(6)Internet Web 解:(1)45H,78H,61H,6DH,70H,6CH,65H,20H,31H

(2) 58H,69H,44H,69H,61H,6EH,20H,55H,6EH,69H,76H,65H,72H,73H,69H,74H,79H (3)2DH,31H,30H,38H,2EH,36H,35H,32H

(4)48H,6FH,77H,20H,61H72H,65H,20H79H,6FH,75H (5)43H,6FH,6DH,70H,75H,74H,65H,72H

(6)49H,6EH,74H,65H72H,6EH,65H,74H,20H,57H,65H,62H 17. 将下列字符串表示成相应的ASCII码(用十六进制数表示): (1)Hello(2)123456;(注:表示回车)(3)ASCII; (4)The number is 2315

解:(1)48H,65H,6CH,6CH,6FH (2)31H,32H,33H,0DH,34H,35H,36H

(3)41H,53H,43H,49H,49H (4)54H,68H,65H,20H,6EH,75H,6DH,62H,65H,72H

- 5 -

第2章 8086 CPU结构与功能

1. 微处理器内部结构由哪几部分组成?阐述各部分的主要功能。 解:微处理器内部结构由四部分组成:

(1)算术逻辑运算单元ALU:完成所有的运算操作; (2)工作寄存器:暂存寻址信息和计算过程中的中间结果;

(3)控制器:完成指令的读入、寄存和译码,并产生控制信号序列使ALU完成指定操

作;

(4)I/O控制逻辑:处理I/O操作。

2. 微处理器级总线有哪几类?各类总线有什么作用? 解:微处理器级总线有三类: (1)数据总线:传送信息; (2)地址总线:传送地址码; (3)控制总线 传送控制信号。

3. 为什么地址总线是单向的,而数据总线是双向的?

解:地址码只能由CPU生成。而数据需要在CPU和存储器之间传输。 4. 8086/8088微处理器内部有哪些寄存器?其主要作用是什么?

解:8086CPU内部有14个16位寄存器,其中8个通用寄存器(4数据寄存器AX、BX、

CX、DX,4地址指针/变址寄存器SI、DI、SP、BP),4个段寄存器(CS、DS、ES、SS),2个控制寄存器(指令指针IP,微处理器状态字PSW)。

应该注意的是:可以在指令中用作为地址指针的寄存器有:SI、DI、BP和BX;在微处理器状态字PSW中,一共设定了9个标志位,其中6个标志位用于反映ALU前一次操作的结果状态(CF,PF,AF,ZF,SF,OF),另3个标志位用于控制CPU操作(DF,IF,TF)。

5. 如果某微处理器有20条地址总线和16条数据总线:

(1)假定存储器地址空间与I/O地址空间是分开的,则存储器地址空间有多大? (2)数据总线上传送的有符号整数的范围有多大? 解:(1)存储器地址空间为:220?1MB

15 (2)有符号数范围为: ?2~2?1, 即 -32768~32767

6. 将十六进制数62A0H与下列各数相加,求出其结果及标志位CF、AF、SF、ZF、OF

- 6 -

15和PF的值:

(1) 1234H;(2) 4321H;(3) CFA0H;(4) 9D60H 解:(1) 74D4H CF=0 AF=0 SF=0 ZF=0 OF=0 PF=1 (2) A5C1H CF=0 AF=0 SF=1 ZF=0 OF=1 PF=0 (3) 3240H CF=1 AF=0 SF=0 ZF=0 OF=0 PF=0 (4) 0000H CF=1 AF=0 SF=0 ZF=1 OF=0 PF=1

7. 从下列各数中减去4AE0H,求出其结果及标志位CF、AF、SF、ZF、OF和PF的值: (1)1234H;(2)5D90H;(3)9090H;(4)EA04H 解:(1) C754H CF=1 AF=0 SF=1 ZF=0 OF=0 PF=0 (2) 12B0H CF=0 AF=0 SF=0 ZF=0 OF=0 PF=0 (3) 45B0H CF=0 AF=0 SF=0 ZF=0 OF=1 PF=0 (4) 9F24H CF=0 AF=0 SF=1 ZF=0 OF=0 PF=1 9. 写出下列存储器地址的段地址、偏移地址和物理地址: (1)2134:10A0;(2)1FA0:0A1F;(3)267A:B876 解:物理地址=段地址*10H+偏移地址

(1)段地址:2134H,偏移地址:10A0H,物理地址:223E0H (2)段地址:1FA0H,偏移地址:0A1FH,物理地址:2041FH (3)段地址:267AH,偏移地址:B876H,物理地址:32016H

10. 给定一个数据的有效地址为2359H,并且(DS)=490BH,求该数据的物理地址。 解:物理地址=段地址*10H+偏移地址

物理地址=490BH +2359H = 4B409H

11. 如果在一个程序段开始执行之前,(CS)=0A7F0H,(IP)=2B40H,求该程序段的第

一个字的物理地址。

解:物理地址=段地址*10H+偏移地址

物理地址=CS*10H+IP = AAA40H

12. IBM PC有哪些寄存器可用来指示存储器的地址? 解:变址寄存器SI,DI,堆栈指针SP,BP,另外还有BX。

- 7 -