微机原理和接口技术(第三版)课本习题答案解析(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章 8086 体系结构与80x86CPU

1.8086CPU 由哪两部份构成?它们的主要功能是什么?

答:8086CPU 由两部份组成:指令执行部件<EU,Execution Unit>和总线接口部件<BIU,Bus Interface Unit>。指令执行部件〔EU 主要由算术逻辑运算单元

<ALU>、标志寄存器F R、通用寄存器组和E U 控制器等4个部件组成,其主要功能是执行指令。总线接口部件<BIU>主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或者I/O 端口读取

操作数参加E U 运算或者存放运算结果等。

2.8086CPU 预取指令队列有什么好处? 8086CPU 内部的并行操作体现在哪里?答: 8086CPU 的预取指令队列由6个字节组成,按照8086CPU 的设计要求, 指令执行部件〔EU 在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在C PU 内部,EU 从指令队列中获得指令的速度会远远超过直接从内存中读取指令。8086CPU 内部

的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。

5.简述8086 系统中物理地址的形成过程。8086 系统中的物理地址最多有多少个?逻辑地址呢?答: 8086 系统中的物理地址是由20 根地址总线形成的。8086 系统采用分段并附以地址偏移量办法形成20 位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部份构成,都是16 位二

进制数。通过一个20 位的地址加法器将这两个地址相加形成物理地址。具体做法是16 位的段基址左移4位<相当于在段基址最低位后添4个"0">,然后与偏移地址相加获得物理地址。由于8086CPU 的地址线是20 根,所以可寻址的存储空间为1M 字节,即8086 系统的物理地址空间是1MB。逻辑地址由段基址和偏移地

址两部份构成,都是无符号的16 位二进制数,程序设计时采用逻辑地址,也是

1MB。

6.8086 系统中的存储器为什么要采用分段结构?有什么好处?

答:8086CPU 中的寄存器都是16 位的,16 位的地址只能访问64KB 的内存。 086 系统中的物理地址是由20 根地址总线形成的,要做到对20 位地址空间进行

访问,就需要两部份地址

采用段基址和偏移地址方式组成物理地址的优点是:满足对8086 系统的1MB 存储空间的访问,同时在大部份指令中只要提供16 位的偏移地址即可。

9.在某系统中, 已知当前〔SS=2360H,〔SP=0800H,那末该堆栈段在存储

器中的物理地址范围是什么?若往堆栈中存入20 个字节数据,那末S P 的内容为什么值?答:〔SS×10H+〔SP=23600H+0800H=23E00H,堆栈段在存储器中的物理地址范围是23600H~23E00H。若往堆栈中存入20 个字节数据,那末S P 的内

容为0800H-14H=07ECH。〔20 的十六进制为14H。

10.已知当前数据段位于存储器的B4000H 到C3FFFH 范围内,则段寄存器D S 的内容为多少?答:段寄存器D S 的内容为B4000H。

11.8086 系统中为什么一定要有地址锁存器?需要锁存哪些信息?

答:由于8086CPU 受芯片封装的限制,惟独40 个管脚,所以地址线和数据线只能采用复用的方式共同使用某些管脚。对存储器进行访问时,在读取数据或者写入数据时,存储器芯片要求在这个过程中地址信息必须稳定提供给存储器,而由

于8086CPU 地址线和数据线是复用的,就不可能在同一时刻具有地址和数据的两种功能。这就需要在C PU 提供地址信息时,将地址锁存起来,以保证下一个时刻

当这些复用的管脚起着数据线的功能时,存储器有正确的地址信息。要锁存的信息包括这些复用管脚的地址和B HE 等信号。

12.8086 读/写总线周期各包括至少几个时钟周期?什么情况下需要插入等待周期T?插入多少个T取决于什么因素?答:8086 读/写总线周期各包括至少W W

四个时钟周期。在系统中增加等待周期T的普通情况是:当C PU 提供了地址后,

W

由于外设或者存储器的读出或者写入时间较慢,不能与C PU 的速度匹配,就需要插入

等待周期T ,等待C PU 能从外设或者存储器将数据正确地读出或者写入为止。显然, W

插入的等待周期T的个数取决于外设或者存储器的取出或者写入时间。

W

13.若已知当前〔DS=7F06H,在偏移地址为 0075H 开始的存储器中连续存放6 个字节的数据,分别为 11H,22H,33H,44H,55H 和 66H,请指出这些数据在存储器中的物理地址,如果要从存储器中读出这些数据,需要设备部几次存储器?各读出哪些数据?

答:物理地址:7F06H×10H+0075H= 7F0DSH,故从 7F0DSH 起6个地址数据在存储器中的地址。至少要访问四次:第一次: 11 。第二次: 33 , 22 。第三次:55 , 44 。第四次:66 。

14:某程序在当前数据段中存有两个数据字0ABCDH 和1234H,它们对应的物理地址分别为 3FF85H 和 40AFEH,若已知当前〔DS=3FB0H,请说明这两个数据的偏移地址,并用图说明它们在存储器中的存放格式。

答:偏移地址为:0485H 和0FFEH。

第三章8086 的指令系统

1:MOV AX,[SI] 寄存器寻址寄存器间接寻址

2:MOV DI,100 寄存器寻址即将寻址

3:MOV [BX],AL 寄存器间接寄存器

4:MOV [BX][SI],CX 基址+变址寄存器

5:ADD DX,106H[SI]变址寄存器

6:PUSH AX 寄存器 7:ADD DS:[BP],AX 8:OR AX,DX 寄存器

2:设寄存器D S=2000H,SS=1500H,ES=3200H,SI=0A0H,BX=100H,BP

=10H,数据段中变量V AL 的偏移地址为50H,试指出下列各条指令中源操作数

的寻址方式是什么?对于存储器操作数,其物理地址是多少?

(1) MOV AX,[100H]直接寻址:20220H

(2) MOV CX,ES:[BX] 寄存器寻址

(3) MOV DX,[BX][SI]基址+变址: 200F0h

(4) MOV AX,VAL[SI]变址寻址:200F0h

(5) MOV BX,1234[BX]基址寻址:205D2H

(6) MOV AX,[BP]寄存器寻址:15010H

3.答案

<3>OUT 3EBH,AX 改 <4>MUL AL,CL 改M UL CL

MOV DX,3EBH6>ROL DX,5 改M OV CL,5

OUT DX,AXROL DX,CL

<5>MUL AX,25 改 <8>POP FR 改P OPF

MOV B X,25<9>MOV 234H,BX 改M OV B X,234H<10>INC [SI]改I NC B YTE P TR [SI]

<11>ADD [BX],456H 改A DD WORD PTR [BX],456H

<12>INT O 错<13>DIV AX ,BX 改D IV BX

<14>DEC [BP]改D EC WORD PTR [BP]<15>XLAT BX 错

<16>ADD CX+1 改A DD CX,1 或者I NC CX<17>DAA AX 改D AA

4:带符号数-86 所表示的二进制:10101010B

执行M OV DL,2AH 和S HR DL,1 两条指令后:DL=00010101 CF=0

可将A X 寄存器中D0,D5,D8 和D11 位求反,其余位不变的指令:XOR A X,0921H

相关文档
最新文档