《微型计算机原理与接口技术》清华大学出版社冯博琴吴宁主编课后答案00001.docx

上传人:b****2 文档编号:1926454 上传时间:2022-10-25 格式:DOCX 页数:18 大小:109.13KB
下载 相关 举报
《微型计算机原理与接口技术》清华大学出版社冯博琴吴宁主编课后答案00001.docx_第1页
第1页 / 共18页
《微型计算机原理与接口技术》清华大学出版社冯博琴吴宁主编课后答案00001.docx_第2页
第2页 / 共18页
《微型计算机原理与接口技术》清华大学出版社冯博琴吴宁主编课后答案00001.docx_第3页
第3页 / 共18页
《微型计算机原理与接口技术》清华大学出版社冯博琴吴宁主编课后答案00001.docx_第4页
第4页 / 共18页
《微型计算机原理与接口技术》清华大学出版社冯博琴吴宁主编课后答案00001.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

《微型计算机原理与接口技术》清华大学出版社冯博琴吴宁主编课后答案00001.docx

《《微型计算机原理与接口技术》清华大学出版社冯博琴吴宁主编课后答案00001.docx》由会员分享,可在线阅读,更多相关《《微型计算机原理与接口技术》清华大学出版社冯博琴吴宁主编课后答案00001.docx(18页珍藏版)》请在冰豆网上搜索。

《微型计算机原理与接口技术》清华大学出版社冯博琴吴宁主编课后答案00001.docx

《微型计算机原理与接口技术》清华大学出版社冯博琴吴宁主编课后答案00001

《微型计算机原理与接口技术》清华大学出版社-冯博琴-吴宁主编-课后答案

D

①8086的外部数据总线有16位,而8088的外部数据总线只有8位。

②8086指令队列深度为6个字节,而8088的指令队列深度为4个字节.

③因为8086的外部数据总线有16位,故8086每个总线周期可以存取两个字节.而8088的外部数据总线因为只有8位,所以每个总线周期只能存取1个字节.

④个别引脚信号的含义稍有不同.

2.108088CPU工作在最小模式下:

(1)当CPU访问存储器时,要利用哪些信号?

(2)当CPU进行I/O操作时,要利用哪些信号?

(3)当HOLD有效并得到响应时,CPU的哪些信号置高阻?

解:

(1)要利用信号线包括WR#、RD#、IO/M#、ALE以及AD0~AD7、A8~A19。

(2)同

(1)。

(3)所有三态输出的地址信号、数据信号和控制信号均置为高阻态。

2.11总线周期中,什么情况下要插入TW等待周期?

插入TW周期的个数,取决于什么因素?

解:

在每个总线周期的T3的开始处若READY为低电平,则CPU在T3后插入一个等待周期TW。

在TW的开始时刻,CPU还要检查READY状态,若仍为低电平,则再插入一个TW。

此过程一直进行到某个TW开始时,READY已经变为高电平,这时下一个时钟周期才转入T4。

可以看出,插入TW周期的个数取决于READY电平维持的时间。

2.12若8088工作在单CPU方式下,在教材第91页的表中填入不同操作时各控制信号的状态。

解:

结果如表所示。

2.13在8086/8088CPU中,标志寄存器包含哪些标志位?

各位为0(为1)分别表示什么含义?

解:

(略),见书第49页。

2.148086/8088CPU中,有哪些通用寄存器和专用寄存器?

说明它们的作用。

解:

通用寄存器包含以下8个寄存器:

AX、BX、CX和DX寄存器一般用于存放参与运算的数据或运算的结果。

除此之外:

AX:

主要存放算术逻辑运算中的操作数,以及存放I/O操作的数据。

BX:

存放访问内存时的基地址。

CX:

在循环和串操作指令中用作计数器。

DX:

在寄存器间接寻址的I/O指令中存放I/O地址。

在做双字长乘除法运算时,DX与AX合起来存放一个双字长数。

SP:

存放栈顶偏移地址。

BP:

存放访问内存时的基地址。

SP和BP也可以存放数据,但它们的默认段寄存器都是SS。

SI:

常在变址寻址方式中作为源地址指针。

DI:

常在变址寻址方式中作为目标地址指针。

专用寄存器包括4个段寄存器和两个控制寄存器:

CS:

代码段寄存器,用于存放代码段的段基地址。

DS:

数据段寄存器,用于存放数据段的段基地址。

SS:

堆栈段寄存器,用于存放堆栈段的段基地址。

ES:

附加段寄存器,用于存放附加段的段基地址。

IP:

指令指针寄存器,用于存放下一条要执行指令的偏移地址。

FLAGS:

标志寄存器,用于存放运算结果的特征。

2.158086/8088系统中,存储器为什么要分段?

一个段最大为多少个字节?

最小为多少个字节?

解:

分段的主要目的是便于存储器的管理,使得可以用16位寄存器来寻址20位的内存空间。

一个段最大为64KB,最小为16B。

2.16在8086/8088CPU中,物理地址和逻辑地址是指什么?

已知逻辑地址为1F00:

38A0H,如何计算出其对应的物理地址?

解:

物理地址时CPU存取存储器所用的地址。

逻辑地址是段和偏移地址形式的地址,即汇编语言程序中使用的存储器地址。

若已知逻辑地址为1F00:

38A0H,则对应的物理地址=1F00Hx16+38A0H=228A0H。

2.17已知存储器物理地址为78A00H,计算出它所对应的逻辑地址。

此结果惟一吗?

解:

物理地址可以对应于不同的逻辑地址。

78A00H对应的逻辑地址可以是7000H:

8A00H,7800H:

0A00H,78A0H:

0000H等。

结果不是惟一的。

2.18设当前数据段位于存储器的A8000H~B7FFFH,DS段寄存器的内容应是什么?

解:

因为A8000H到B7FFFH之间的地址范围大小为64KB,未超出一个段的最大范围。

故要访问此地址范围的数据,数据段的起始地址(即段首地址)应为A8000H,则DS段寄存器为A800H。

2.19若CS=8000H,则当前代码段可寻址的存储空间的范围是多少?

解(CS)=8000H时,当前代码段可寻址的存储空间范围为80000H~8FFFFH。

2.208086/8088CPU在最小模式下构成计算机系统至少应包括哪几个基本部分(器件)?

解:

其至少应包括:

8088CPU、8284时钟发生器、8282锁存器(3片)和8286双向总线驱动器。

第3章8088/8086指令系统

3.1什么叫寻址方式?

8086/8088CPU共有哪几种寻址方式?

解:

寻址方式主要是指获得操作数所在地址的方法.8086/8088CPU具有:

立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址一变址寻址、基址一变址-相对寻址以及隐含寻址等8种寻址方式。

3.2设(DS)=6000H,(ES)=2000H,(SS)=1500H,(Si)=00A0H,(BX)=0800H,(BP)=1200H,数据变量VAR为0050H.请分别指出下列各条指令源操作数的寻址方式?

它的物理地址是多少?

(1)MOVAX,BX

(2)MOVDL,80H

(3)MOVAX,VAR(4)MOVAX,VAR[BX][SI]

(5)MOVAL,'B'(6)MOVDI,ES:

[BX]

(7)MOVDX,[BP](8)MOVBX,20H[BX]

解:

(1)寄存器寻址。

因源操作数是寄存器,故寄存器BX就是操作数的地址.

(2)立即寻址。

操作数80H存放于代码段中指令码MOV之后。

(3)直接寻址。

(4)基址一变址一相对寻址.

操作数的物理地址=(DS)×16+(SI)+(BX)+VAR

=60000H+00A0H+0800H+0050H=608F0H

(5)立即寻址

(6)寄存器间接寻址.

操作数的物理地址=(ES)×16+(BX)

=20000H+0800H=20800H

(7)寄存器间接寻址。

操作数的物理地址=(SS)×16+(BP)

=15000H+1200H=16200H

(8)寄存器相对寻址.

操作数的物理地址=(DS)×16+(BX)+20H

=60000H+0800H+20H=60820H

3.3假设(DS)=212AH,(CS)=0200H,(IP)=1200H,(BX)=0500H,位移量DATA=40H,(217A0H)=2300H,(217E0H)=0400H,(217E2H)=9000H

试确定下列转移指令的转移地址.

(1)JMP2300H

(2)JMPWORDPTR[BX]

(3)JMPDWORDPTR[BX+DATA]

解:

转移指令分为段内转移和段间转移,根据其寻址方式的不同,又有段内的直接转移和间接转移,

以及段间的直接转移和间接转移地址。

对直接转移,其转移地址为当前指令的偏移地址(即IP的内容)加上位移量或由指令中直接得出;对间接转移,转移地址等于指令中寄存器的内容或由寄存器内容所指向的存储单元的内容。

(1)段内直接转移。

转移的物理地址=(CS)×l6+2300H

=02000H+2300H=04300H

(2)段内间接转移。

转移的物理地址=(CS)×16+[BX]

=(CS)×l6+(217A0H)

=02000H+2300H=04300H

(3)段间间接转移。

转移的物理地址=[BX+DATA]

=(217E2H)×l6+(217E0H)

=90000H+0400H=90400H

3.4试说明指令MOVBX,5[BX]与指令LEABX,5[BX]的区别。

解:

前者是数据传送类指令,表示将数据段中以(BX+5)为偏移地址的16位数据送寄存器BX.

后者是取偏移地址指令,执行的结果是(BX)=(BX)+5,即操作数的偏移地址为(BX)+5。

3.5设堆栈指针SP的初值为2300H,(AX)=50ABH,(BX)=1234H。

执行指令PUSHAX后,(SP)=?

,再执行指令PUSHBX及POPAX之后,(SP)=?

(AX)=?

(BX)=?

解:

堆栈指针SP总是指向栈顶,每执行一次PUSH指令SP-2,执行一次POP指令SP+2.所以,执行PUSHAX指令后,(SP)=22FEH;再执行PUSHBX及POPAX后,(SP)=22FEH,(AX)=(BX)=1234H

3.6指出下列指令的错误:

(1)MOVAH,CX

(2)MOV33H,AL

(3)MOVAX,[SI][DI](4)MOV[BX],[SI]

(5)ADDBYTEPTR[BP],256(6)MOVDATA[SI],ES:

AX

(7)JMPBYTEPTR[BX](8)OUT230H,AX

(9)MOVDS,BP(10)MUL39H

解:

(1)指令错。

两操作数字长不相等

(2)指令错。

MOV指令不允许目标操作数为立即数.

(3)指令错。

在间接寻址中不允许两个间址寄存器同时为变址寄存器。

(4)指令错。

MUV指令不允许两个操作数同时为存储器操作数。

(5)指令错。

ADD指令要求两操作数等字长。

(6)指令错。

源操作数形式错,寄存器操作数不加段重设符。

(7)指令错。

转移地址的字长至少应是16位的。

(8)指令错。

对输人输出指令,当端口地址超出8位二进制数的表达范围(即寻址的端口超出256个)时,必须采用间接寻址。

(9)指令正确。

(10)指令错。

MUL指令不允许操作数为立即数。

3.7已知(AL)=7BH,(BL)=38H,试问执行指令ADDAL,BL后,AF、CF、OF、PF、SF和ZF的值各为多少?

解:

AF=1,CF=0,OF=1,PF=0,SF=l,ZF=0

3.8试比较无条件转移指令、条件转移指令、调用指令和中断指令有什么异同?

解:

无条件转移指令的操作是无条件地使程序转移到指定的目标地址,并从该地址开始执行新的程序段,其转移的目标地址既可以是在当前逻辑段,也可以是在不同的逻辑段;条件转移指令是在满足一定条件下使程序转移到指定的目标地址,其转移范围很小,在当前逻辑段的-128~+127地址范围内。

调用指令是用于调用程序中常用到的功能子程序,是在程序设计中就设计好的。

根据所调用过程人口地址的位置可将调用指令分为段内调用(入口地址在当前逻辑段内)和段间调用。

在执行调用指令后,CPU

要保护断点。

对段内调用是将其下一条指令的偏移地址压人堆栈,对段间调用则要保护其下一条指令的偏移地址和段基地址,然后将子程序人口地址赋给IP(或CS和IP).

中断指令是因一些突发事件而使CPU暂时中止它正在运行的程序,转去执行一组专门的中断服务程序,并在执行完后返回原被中止处继续执行原程序。

它是随机的。

在响应中断后CPU不仅要保护断点(即INT指令下一条指令的段地址和偏移地址),还要将标志寄存器FLAGS压入堆栈保存。

3.9试判断下列程序执行后,BX中的内容.

MOVCL,3

MOVBX,0B7H

ROLBX,1

ROR

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1