微机原理与接口技术 顾晖 习题参考答案(2)

2018-12-12 22:46

如果需要访问存储器或者I/O设备,那么EU会向BIU发出访问总线的请求,以完成访问存储器或者I/O接口的操作。如果此时BIU正好处于空闲状态,那么,会立即响应EU的总线请求;但如果BIU正在将某个指令字节取到指令队列中,那么,BIU将首先完成这个取指令操作,然后再去响应EU发出的访问总线的请求。

③ 当指令队列已满,而且EU又没有总线访问时,BIU便进入空闲状态。 5

④ 在执行转移指令、调用指令和返回指令时,下面要执行的指令就不是在程序中紧接 着的那条指令了,而BIU 往指令队列装入指令时,总是按顺序进行的。在这种情况下,指 令队列中已经装入的指令就没有用了,会被自动消除。随后,BIU 会往指令队列中装入另一

个程序段中的指令。 3.答:

地址信号是CPU 发送给内存或I/O 设备的,所以地址线是单向的;

数据信号可以从CPU 发送给内存或I/O 设备,也可以从内存或I/O 设备发送给CPU, 故而数据线是双向的。 4.答:

8086CPU 中有14 个寄存器。它们是:4 个16 位的通用寄存器:AX、BX、CX、DX 和 8 个8 位的通用寄存器:AH、AL、BH、BL、CH、CL、DH、DL;指针和变址寄存器SP、 BP、 SI、DI;4 个16 位的段寄存器CS、DS、SS 和ES;标志寄存器FR;指令指针寄存器 IP。 功能略。

5.将十六进制数5678H和以下各数相加,试求叫法运算的结果及进算后标志寄存器中6个状态标志的值,用十六进制数表示运算结果。 2分 1)7834H 2)1234H 3)8765H 答:

(1)加法运算的结果为:CEACH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=1; (2)加法运算的结果为:68ACH;CF=0,PF=1,AF=0,ZF=0,SF=0,OF=0; (3)加法运算的结果为:DDDDH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=0。

6.8086CPU可寻址的存储器地址范围是多少?可寻址的I/O端口地址范围是多少?2分 答:

8086CPU 可寻址的存储器地址范围是00000H~FFFFFH; 可寻址的I/O 端口地址范围是0000H~FFFFH。 7.答:

由于8086CPU 提供20 位地址,但8086 中可用来存放地址的寄存器,如IP、SP、BX、 SI 等都是16 位的,只能直接寻址64KB。为了寻址1MB 存储空间,8086CPU 采用了典型的 存储器分段技术,即将整个存储器空间分为许多逻辑段,每个逻辑段的容量小于或等于64KB。 分段后,对存储器的寻址操作不再直接用20 位的物理地址,而是采用段地址加段内偏移地 址的二级寻址方式。 8.答:

将AH的内容送存储单元的操作过程中:M / IO ?1,WR ??0,RD ?1,DT / R ?1; 将I/O 端口的内容送AL的操作过程中:M / IO ??0,WR ?1,RD ??0,DT / R ??0。 9.答:

BHE A0 有效的数据引脚 操 作 0 0

6

AD15~AD0(一个总线周期同时访问奇体和偶 体,从奇地址单元读/写字数据的高8 位,从偶地 址单元读/写字数据的低8 位) 从偶地址读/写一个 字 6

1 0 AD7~AD0

从偶地址读/写一个 字节

0 1 AD15~AD8 从奇地址读/写一个 字节 0 1 1 0

AD15~AD8(第一个总线周期从奇字数据的低8 位)

AD7~AD0(第二个总线周期从偶地址单元读/写 字数据的高8 位) 从奇地址读/写一个 字

10.简述8086系统复位后各寄存器的状态。 2分 答:

8086 系统复位后,指令指针(IP)为0000H;CS 寄存器为FFFFH,其他寄存器为0000H; 指令队列清空。

11. 简述8086系统中为什么一定要有地址锁存器?需要所存哪些信息? 2分 答:

8086 的A19/S6~A16/S3 和AD15~AD0 是复用信号,需要地址锁存器将地址信息保存 起来,为外接存储器或外设提供地址信息。 需要锁存的信号是:地址信号及BHE 信号。

12.8086CPU基本的总线周期包括几个时钟周期? 1分 答:

8086CPU 一个基本的总线周期包含4 个时钟周期:T1、T2、T3 和T4 。

在T1 状态,M/ IO有效,指示CPU 访问的是存储器还是外设,之后CPU 往多路复用

总线上发出地址信息,以指出要寻址的存储单元或外设端口的地址。在T1 状态,CPU 还必 须在ALE 引脚上输出一个正脉冲作为地址锁存信号。BHE信号也在T1 状态送出,它用来 表示数据传送的字宽。

在T2 状态,CPU 从总线上撤销地址,使总线的低16 位浮空,置成高阻状态,为传输 数据作准备。总线的最高4 位(A19~A16)用来输出本总线周期的状态信息。读信号RD或 写信号WR在T2 状态变为有效,指示CPU 将进行哪种操作(读或写)。

在T3 状态,多路总线的高4 位继续提供状态信息,而多路总线的低16 位上出现由CPU 读出的数据或者CPU 从存储器或端口写入的数据。

在T4 状态和前一个状态的交界处,CPU 对数据总线进行采样,获得数据,总线周期结 束。

13.什么情况下需要插入TW周期?应该插入多少个TW取决于什么因素? 2分

7

答:

在有些情况下,外设或存储器速度较慢,不能及时地配合CPU 传送数据。这时,外设 或存储器会通过“READY”信号线在T3 状态启动之前向CPU 发一个“数据未准备好”信 号,于是CPU 会在T3 之后插入1 个或多个附加的时钟周期TW。取决与外设或存储器速度。 14.答:

两种操作时序的不同之处发生在T1 和T2 状态。

① 在T1状态,读周期:DT/R应输出低电平;写周期:DT/R应输出高电平。

② 在T2 状态,读周期:RD有效,而WR无效,AD15~AD0 为高阻态;写周期:RD

变为无效,而写信号WR变为有效,AD15~AD0 在地址撤销之后立即送出要写入存储器或 外设端口的数据。 7

15.答:

在最小模式下,读信号RD、ALE 和DT/R、DEN等信号直接由CPU 给出; 在最大模式下,总线控制器8288 根据 2 1 S ,S 和

0 S 状态信号产生读信号MRDC和IORC,

ALE 和DT/R、DEN 也是由8288 发出的,而且DEN 信号的极性与CPU 在最小模式下发 出的DEN信号正好相反。 8

第4章 习题答案

1.什么叫寻址方式?8086CPU支持哪几种寻址方式? 2分 答:

指令中关于如何求出操作数有效地址的方法称为寻址方式。

8086CPU支持多种寻址方式,根据操作数的类型及来源大致分为3类:数据寻址、转移地址寻址和I/O寻址。 2.答:

8086汇编指令可以采用7种基本的数据寻址方式:①立即寻址;②寄存器寻址;③直接寻址;④寄存器间接寻址;⑤寄存器相对寻址;⑥基址变址寻址;⑦相对基址变址寻址。 与存储器寻址方式(后5种)相比,寄存器寻址方式最快。

3.内存寻址方式中,一般只指出操作数的偏移地址,那么,段地址如何确定?如果要用某个段寄存器指出段地址,指令中应该如何表示? 2分 答:

如果指令中没有用前缀说明操作数存放在哪个段,则操作数默认存放在数据段。

8086系统允许操作数存放在代码段、堆栈段或附加段。此时,就需要在指令中利用前缀指明段超越。例如: MOV ES:[1225H],AX

4.在8086系统中,设DS=1000H,ES=2000H,SS=1200H,BX=0300H,SI=0200H,BP=0100H,VAR的偏移量为0600H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,请计算它们的物理地址是多少? 2分

1)MOV BX,12 2)MOV [BX],12 3)MOV ES:[SI],AX 4)MOV VAR,8 5)MOV [BX][SI],AX 6)MOV 6[BP][SI],AL 7)MOV [100H],DX 8)MOV 6[BX],CX

8

9)MOV VAR+5,AX 答:

(1)寄存器寻址方式

(2)寄存器间接寻址方式,PA=10300H (3)寄存器间接寻址方式,PA=20200H (4)直接寻址方式,PA=10060H (5)基址变址寻址方式,PA=10500H (6)相对基址变址寻址方式,PA=12300H (7)直接寻址方式,PA=11000H

(8)__________寄存器相对寻址方式,PA=10306H (9)直接寻址方式,PA=10065H

5.判断指令对错。如果是错误的,请说明原因答。 2分 1)XCHG CS,AX ×

2)MOV [BX],[1000H] × 3)XCHG BX,IP × 4)PUSH CS √ 5)POP CS × 6)IN BX,DX √

7)MOV BYTE[BX],1000 × 8)MOV CS,[1000H] × 9)MOV BX,OFFSET VAR[SI] √ 10)MOV AX,[SI][DI] ×

11)MOV COUNT[BX][SI],ES:AX × 6.试述以下指令的区别。 2分

1)MOV AX,3000H 与 MOV AX,[3000H] 2)MOV AX,MEM 与 MOV AX,OFFSET MEM 3)MOV AX,MEM 与 LEA AX,MEM

4)JMP SHORT L1 与 JMP NEAR PTR L1 5)CMP DX,CX 与 SUB DX,CX

6)MOV [BP][SI],CL 与 MOV DS:[BP][SI],CL 答:

(1)源操作数的寻址方式不同。MOV AX,3000H指令的源操作数采用的是立即数寻址方式,MOV AX,[3000H]指令的源操作数采用的是直接寻址方式。 (2)指令执行后,AX的值不同。MOV AX,MEM指令执行后,AX得到的是MEM单元的内容,而MOV AX,OFFSET MEM指令执行后,AX得到的是MEM单元的地址。 (3)指令不同。MOV AX,MEMMOV AX,MEM指令执行后,AX得到的是MEM单元的内容,而LEA AX,MEM指令执行后,AX得到的是MEM单元的地址。

(4)转移的类型不同。JMP SHORT L1指令实现的是段内转移,而JMP NEAR PTR L1指令实现的是段间转移。

(5)指令的执行结果不同。CMP DX,CX指令执行后,DX的值不变,而SUB DX,CX指令执行后,DX的值是两寄存器值的差。

(6)操作数所在段不同。MOV [BP][SI],CL指令访问的是堆栈段的存储单元,而MOV DS:[BP][SI],CL指令访问的是数据段的存储单元。 7.答:

9

(1)MOV BYTE PTR [BP],200指令执行后,(58200H)=200H (2)MOV WORD PTR [BX],2000指令执行后,(22400H)=2000H 8.答:

当前栈顶地址是:FE00H:2010H;

执行PUSH BX指令后,栈顶地址变为:FE00H:200EH,栈顶2字节内容是:3457H。 9.答:

(1)(DX)=3C62H,CF=1 (2)(DX)=03C6H,CF=0 (3)(DX)=18A0H,CF=1 (4)(DX)=2BC6H,CF=0 (5)(DX)=18B7H,CF=1 (6)(DX)=BCC5H,CF=0 10.答: (AX) CF ZF OF SF PF (1) 134EH 0 0 0 0 1 (2) 0821H 0 0 0 0 1 (3) F142H 1 0 0 1 1 (4) 0A69 1 0

10


微机原理与接口技术 顾晖 习题参考答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:园林预算定额说明及计算规则

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: