1、.第2章 8086 CPU结构与功能1. 微处理器内部结构由哪几部分组成?阐述各部分的主要功能。解:微处理器内部结构由四部分组成: (1)算术逻辑运算单元ALU:完成所有的运算操作; (2)工作寄存器:暂存寻址信息和计算过程中的中间结果; (3)控制器:完成指令的读入、寄存和译码,并产生控制信号序列使ALU完成指定操作;(4)I/O控制逻辑:处理I/O操作。2. 微处理器级总线有哪几类?各类总线有什么作用?解:微处理器级总线有三类: (1)数据总线:传送信息; (2)地址总线:传送地址码; (3)控制总线 传送控制信号。3. 为什么地址总线是单向的,而数据总线是双向的?解:地址码只能由CPU生
2、成。而数据需要在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,
3、IF,TF)。5. 如果某微处理器有20条地址总线和16条数据总线: (1)假定存储器地址空间与I/O地址空间是分开的,则存储器地址空间有多大? (2)数据总线上传送的有符号整数的范围有多大?解:(1)存储器地址空间为: (2)有符号数范围为: , 即 32768327676. 将十六进制数62A0H与下列各数相加,求出其结果及标志位CF、AF、SF、ZF、OF和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
4、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=17. 从下列各数中减去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) 9F24
5、H CF=0 AF=0 SF=1 ZF=0 OF=0 PF=19. 写出下列存储器地址的段地址、偏移地址和物理地址:(1)2134:10A0;(2)1FA0:0A1F;(3)267A:B876解:物理地址段地址*10H+偏移地址(1)段地址:2134H,偏移地址:10A0H,物理地址:223E0H(2)段地址:1FA0H,偏移地址:0A1FH,物理地址:2041FH(3)段地址:267AH,偏移地址:B876H,物理地址:32016H10. 给定一个数据的有效地址为2359H,并且(DS)490BH,求该数据的物理地址。解:物理地址段地址*10H+偏移地址物理地址490BH 2359H 4B409H11. 如果在一个程序段开始执行之前,(CS)0A7F0H,(IP)2B40H,求该程序段的第一个字的物理地址。解:物理地址段地址*10H+偏移地址物理地址CS*10H+IP = AAA40H12. IBM PC有哪些寄存器可用来指示存储器的地址?解:变址寄存器SI,DI,堆栈指针SP,BP,另外还有BX。.