微机原理课后答案Word下载.docx

上传人:b****7 文档编号:22204449 上传时间:2023-02-03 格式:DOCX 页数:59 大小:148.59KB
下载 相关 举报
微机原理课后答案Word下载.docx_第1页
第1页 / 共59页
微机原理课后答案Word下载.docx_第2页
第2页 / 共59页
微机原理课后答案Word下载.docx_第3页
第3页 / 共59页
微机原理课后答案Word下载.docx_第4页
第4页 / 共59页
微机原理课后答案Word下载.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

微机原理课后答案Word下载.docx

《微机原理课后答案Word下载.docx》由会员分享,可在线阅读,更多相关《微机原理课后答案Word下载.docx(59页珍藏版)》请在冰豆网上搜索。

微机原理课后答案Word下载.docx

6.用段基值及偏移量来指明内存单元地址的方式称为逻辑地址。

7.通常8086/8088CPU中当EU执行一条占用很多时钟周期的指令时,或者在多处理器系统中在交换总线控制时会出现空闲状态。

8.8086CPU使用16根地址线访问I/O端口,最多可访问64K个字节端口,使用20根地址线访问存储单元,最多可访问1M个字节单元。

9.CPU取一条指令并执行该指令的时间称为指令周期,它通常包含若干个总线周期,而后者又包含有若干个时钟周期。

二、单项选择题

1.某微机最大可寻址的内存空间为16MB,其CPU的地址总线至少应有(E)条。

A.26B.28C.20D.22E.24

2.8086/8088CPU的RESET引脚至少应维持(A)个时钟周期的正脉冲宽度才能有效复位。

A.4B.5C.2D.3

3.当RESET信号进入高电平状态时,将使8086/8088CPU的(D)寄存器初始化为0FFFFH。

A.SSB.DSC.ESD.CS

4.8086/8088CPU与慢速存储器或I/O接口之间进行数据传输,为了使传送速度匹配,有时需要在(C)状态之间插入若干等待周期TW。

A.T1和T2B.T2和T3C.T3和T4D.随机

5.8086/8088CPU中标志寄存器的主要作用是(D)。

A.检查当前指令的错误B.纠正当前指令执行的结果与错误

C.决定是否停机D.产生影响或控制某些后续指令所需的标志

6.8086最小模式下的存储器读周期中地址锁存发生在总线周期的(A)时刻。

A.T1B.T2C.T3D.T4

7.指令指针IP的作用是(A)。

A.保存将要执行的下一条指令的地址B.保存CPU要访问的内存单元地址

C.保存运算器运算结果内容D.保存正在执行的一条指令

8.8086CPU有两种工作模式,最小模式的特点是(A)。

A.CPU提供全部控制信号B.由编程进行模式设定

C.不需要8282收发器D.需要总线控制器8288

三、简答题

1.8086/8088CPU分为哪两个部分?

如何协调工作?

EU是执行部件,主要的功能是执行指令和形成有效地址。

BIU是总线接口部件,与片外存储器及I/O接口电路传输数据,主要功能是形成实际地址、预取指令和存取操作数。

EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行的指令。

EU与BIU可分别独立工作,当EU不需BIU提供服务时,BIU可进行填充指令队列的操作。

2.8086/8088CPU的地址总线有多少位?

其寻址范围是多少?

8086/8088CPU的地址总线共20位,最大可寻址1MB空间。

3.8086/8088CPU使用的存储器为什么要分段?

怎么分段?

8086/8088为16位CPU,其内部的ALU、相关的地址寄存器(如SP、IP以及BX、BP、SI、DI)等都是16位的,因而对存储器地址的处理也只能是16位操作,即8086/8088的直接寻址能力在64KB范围内。

而实际上8086/8088有20条地址线,它的最大寻址空间为1MB。

这就产生了一个矛盾,即如何用16位的地址寄存器去表示一个20位的存储器物理地址?

实际使用的解决办法是:

将1MB大小的存储空间分为若干“段”,每段不超过64KB。

这样,一个20位的物理地址就可以用“16位段基址:

16位偏移量”的形式(称为逻辑地址)来表示了,其中段地址存放在8086/8088的段寄存器中。

4.8086/8088CPU中有几个通用寄存器?

有几个变址寄存器?

有几个指针寄存器?

通常哪几个寄存器亦可作为地址寄存器使用?

8086/8088CPU中共有:

8个16位的通用寄存器AX、BX、CX、DX、BP、SP、SI、DI;

2个变址寄存器SI、DI;

2个指针寄存器BP、SP;

其中BX、BP、SI、DI亦可作地址寄存器。

5.Intel8086与8088有何区别?

8086与8088的区别主要表现在以下几个方面:

第一、8086的指令队列可以容纳6个字节,每个总线周期在存储器中取出2个字节指令代码填入队列。

而8088只能容纳4个字节,且每个总线周期只能取出1个字节指令代码。

第二、8086外部数据总线宽度为16位,8088外部数据总线宽度只有8位。

注意:

8086和8088外部数据总线的宽度不同将导致扩展主存储器及输入/输出接口时系统地址线和数据线连接方式的不同。

第三、其他不同的引脚定义:

(1)AD15~AD0,在8086中为地址/数据复用,而在8088中AD15~AD8改为A15~A8只作地址线用;

(2)34、28号引脚定义不同。

6.8086/8088CPU工作在最小模式时:

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

当CPU访问外设接口时,要利用哪些信号?

8086/8088CPU工作在最小模式时,若访问存储器,需用到以下信号:

、ALE、

、DEN、READY、

、AD0~AD15、A19/S6~A16/S3。

若访问外设,需用到以下信号:

、AD0~AD15。

8.什么是逻辑地址?

什么是物理地址?

它们之间有什么联系?

各用在何处?

逻辑地址由两个16位的部分即段基址和偏移量组成,一般在程序中出现的地址都表示为逻辑地址形式;

物理地址是一个20位的地址,它是唯一能代表存储空间每个字节单元的地址,一般只出现在地址总线上。

由于8086/8088CPU中的寄存器只有16位长,所以程序不能直接存放20位的物理地址,而必须借助逻辑地址,即用两个16位的寄存器来表示物理地址。

他们之间的关系是:

物理地址=段基址*16+偏移量;

另外,一个物理地址可对应多个逻辑地址。

9.设现行数据段位于存储器0B0000H~0BFFFFH单元,DS段寄存器内容为多少?

DS段寄存器内容为0B000H。

10.在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?

逻辑地址是在程序中对存储器地址的一种表示方法,由段基址和段内偏移地址两部分组成,都是16位的二进制代码,如1234H:

0088H。

偏移地址是指段内某个存储单元相对该段首地址的差值。

物理地址是8086芯片引线送出的20位地址码,物理地址=段基址*16+偏移地址,用来指出一个特定的存储单元。

11.给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=0C0E0H,求出该内存单元的物理地址。

物理地址:

0C2EC0H。

12.8086/8088为什么采用地址/数据引线复用技术?

考虑到芯片成本和体积,8086/8088采用40条引线的封装结构。

40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。

13.怎样确定8086的最大或最小工作模式?

引线

的逻辑状态决定8086的工作模式,

引线接高电平,8086被设定为最小模式,

引线接低电平,8086被设定为最大模式。

14.8086基本总线周期是如何组成的?

基本总线周期由4个时钟(CLK)周期组成,按时间顺序定义为T1、T2、T3、T4。

15.在基于8086的微计算机系统中,存储器是如何组织的?

存储器是如何与处理器总线连接的?

信号起什么作用?

8086为16位微处理器,可访问1M字节的存储器空间;

1M字节的存储器分为两个512K字节的存储体,分别命名为偶存储体和奇存储体;

偶体的数据线连接D7~D0,“体选”信号接地址线A0;

奇体的数据线连接D15~D8,“体选”信号接

信号;

A0信号有效时允许访问偶体中的低字节存储单元,

信号有效时允许访问奇体中的高字节存储单元,实现8086的低字节访问、高字节访问及字访问。

16.有一个由20个字组成的数据区,其起始地址为610AH:

1CE7H。

试写出该数据区首末单元的实际地址PA。

首单元地址:

610A0H+1CE7H=62D87H

末单元地址:

62D87H+27H=62DAEH

17.有两个16位的字31DAH、5E7FH,它们在8086系统存储器中的地址为00130H和00135H,试画出它们的存储器示意图。

地址

内容

00130H

0DAH

00131H

31H

00132H

00133H

00134H

00135H

7F

00136H

5E

18.试说明8086CPU的控制引脚ALE的作用。

8086的低位地址线与数据线复用,为保证地址线维持足够的时间,需使用ALE信号将低位地址线通过锁存器保存,以形成系统地址总线。

第4章8086/8088CPU指令系统

一、判断题

1.MOVAX,[BP]的源操作数物理地址为16×

(DS)+(BP)。

(×

2.OUTDX,AL指令的输出是16位操作数。

(×

3.不能用立即数给段寄存器赋值。

(√)

4.所有传送指令都不影响PSW寄存器的标志位。

(×

5.堆栈指令的操作数均为字。

(√)

6.段内转移指令执行结果要改变IP,CS的值。

1.寄存器间接寻址方式中,操作数在(C)中。

A.通用寄存器B.I/O端口C.存储单元D.段寄存器

2.(A)寻址方式的跨段前缀不可省略。

A.DS:

[BP]B.DS:

[SI]C.DS:

[DI]D.SS:

[BP]

3.假设(SS)=2000H,(SP)=0012H,(AX)=1234H,执行PUSHAX后,(SP)=(C)。

A.0014HB.0011HC.0010HD.000FH

4.用BP作基址变址寻址时,操作数所在的段是当前(C)。

A.数据段B.代码段C.堆栈段D.附加段

5.已知(IP)=1000H,CF=0,则执行指令JNCShortlabel后,下列各数中哪一个是可能的IP值?

(B)

(A)0FFFFH(B)0FFEH(C)10FEH(D)1100H

6.执行下列指令后,(AX)=(A)。

MOVAX,1234H

MOVCL,4

ROLAX,CL

DECAX

MOVCX,4

MULCX

HLT

A.8D00HB.9260HC.8CA0HD.0123H

7.设(AL)=-68,(BL)=86,执行SUBAL,BL指令后,正确的结果是(C)。

A.CF=1B.SF=1C.OF=1D.ZF=1

8.已知(SI)=0004H,(DS)=8000H,(80004H)=02H,(80005H)=C3H。

指令LEAAX,[SI]执行后(AX)=(C)。

A.0002HB.0005HC.0004HD.C302H

9.条件转移指令JNE的条件是(C)。

A.CF=0B.CF=1C.ZF=0D.ZF=1

10.在8086中,(BX)=0282H,且题中指令已在指令队列中,则执行

INCBYTEPTR(BX)指令需要的总线周期为(C)。

A.0B.1C.2D.3

三、多项选择题

1.下列指令中源操作数使用寄存器寻址方式的有(BF)。

A.MOVBX,BUF[SI]B.ADD[SI+50],BXC.SUBAX,2

D.CMPAX,DISP[DI]E.MULVAR[BX]F.PUSHCX

2.将累加器AX的内容清零的正确指令是(BCD)。

A.CMPAX,AXB.SUBAX,AX

C.ANDAX,0D.XORAX,AX

3.正确将字变量WORDVARR偏移地址送寄存器AX的指令是(CD)。

A.MOVAX,WORDVARRB.LESAX,WORDVARR

C.LEAAX,WORDVARRD.MOVAX,OFFSETWORDVARR

4.调用CALL指令可有(ABDE)。

A.段内直接B.段内间接C.短距离(SHORT)

D.段间直接E.段间间接

5.8086指令的操作数可能有(ABCD)。

A.0B.1C.2D.3

四、填空题

1.与指令MOVBX,OFFSETBUF功能相同的指令是LEABX,BUF。

2.假设(BX)=0449H,(BP)=0200H,(SI)=0046H,(SS)=2F00H,(2F246H)=7230H则执行XCHGBX,[BP+SI]指令后,(BX)=7230H。

3.执行下列指令序列后,完成的功能是将(DX,AX)的值除以16。

MOVCX,4

NEXT:

SHRDX,1

RCRAX,1

LOOPNEXT

4.已知(AL)=01011101B,执行指令NEGAL后,再执行CBW后,

(AX)=0FFA3H。

5.在数据传送类指令中,只有SAHF和POPF两条指令会影响标志位的值,其中指令POPF是唯一可以改变TF标志的指令。

6.设有100个字节数据(补码),存放在数据段中EA=2000H的存储单元中。

以下程序应该从该数据区中找出最小的一个数据,并存入EA=2100H单元中,请将下面程序补充完整。

MIN:

MOVBX,2000H

MOVAL,[BX]

MOVCX,99

LOOP1:

INCBX

CMPAL,[BX]

JLELOOP2

MOVAL,[BX]

LOOP2:

DECCX

JNZLOOP1

MOV[2100H],AL

7.MOVAX,ES:

[BX][SI]中,源操作数的物理地址计算式是:

(ES)×

16+(BX)+(SI)。

五、综合题

1.请指出以下各指令的源、目的操作数所使用的寻址方式。

(1)MOVSI,2100H

(2)SBBDISP[BX],7

(3)AND[DI],AX

(4)ORAX,[609EH]

(5)MOV[BX+DI+30H],CX

(6)PUSHES:

[BP]

(7)CALLDISP[DI]

(1)源操作数:

立即数寻址;

目的操作数:

寄存器寻址

(2)源操作数:

(带位移量的)基址寻址

(3)源操作数:

寄存器寻址;

变址寻址

(4)源操作数:

直接寻址;

目的操作数:

(5)源操作数:

(带位移量的)基址变址寻址

(6)源操作数:

带段超越的基址寻址;

隐含寻址

(7)只有一个操作数,为(带位移量的)变址寻址

2.请指出下列各条指令的错误,并改正。

(1)MOV[100],23H

(2)ADDAX,[BX+BP+6]

(3)PUSHDL

(4)INAX,[3FH]

(5)OUT3FFH,AL

(6)LESSS,[SI]

(7)POP[AX]

(8)IMUL4CH

(9)SHLBX,

(10)INT300

(11)XCHGDX,0FFFH

(12)MOVAH,BX

(13)MOV[BX],ES:

AX

(14)MOVAX,OFFSET[SI]

(15)MOVCS,AX

(16)MOVDS,ES

(17)MOVDS,1000H

(1)不允许直接向段寄存器送立即数,可改为:

MOVAX,1000H

MOVDS,AX

(2)该指令在语法上是对的,即可以把一个立即数送入一个存储单元;

但是如果考虑实际编译,则第一操作数前应加上BYTEPTR或WORDPTR说明,否则汇编程序会因不能确定操作数长度而指示出错。

可改为:

MOVBYTEPTR[100],23H

(3)不能同时使用两个基址寄存器BX、BP进行间接寻址,可改为:

ADDAX,[BX+DI+6]

(4)堆栈操作应以字为单位进行,而DL是一个字节。

PUSHDX

(5)在输入/输出指令中,8位端口地址应直接写在操作数处。

INAX,3FH

(6)端口地址3FFH已超出8位二进制表示范围,16位端口地址应存于DX。

MOVDX,3FFHOUTDX,AL

(7)LES指令的目操作数应该是通用寄存器,不能是段寄存器。

LESAX,[SI]

(8)AX不能用于间接寻址,间接寻址只能用BX、BP、SI、DI四个寄存器之一。

POP[BX]

(9)立即数不能做乘法指令的操作数,可改为:

MOVBL,4CH

IMULBL

(10)当逻辑移位的次数大于1时,应该用CL指示次数。

MOVCL,5

SHLBX,CL

(11)操作数300255,已超出有效的中断类型码范围。

(12)XCHG指令不允许立即数做它的操作数。

MOVCX,0FFFH

XCHGDX,CX

(13)源、目的字长不一致

(14)在8086寻址方式中,AX不能作为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式

(15)OFFSET只用于简单变量,应去掉

(16)CS不能作为目的寄存器

(17)段寄存器之间不能直接传送数据

3.设若标志寄存器原值为0A11H,(SP)=0060H,(AL)=4。

下列几条指令执行后,标志寄存器、AX、SP的值分别是多少?

PUSHF

LAHF

XCHGAH,AL

PUSHAX

SAHF

POPF

指令执行后标志寄存器的值为0411H,AX=0411H,SP=005EH。

4.假如在程序的括号中分别填入指令:

(1)LOOPL20

(2)LOOPNEL20

(3)LOOPEL20

试说明在三种情况下,当程序执行完后,AX、BX、CX、DX四个寄存器的内容分别是什么?

BEGIN:

MOVAX,01

MOVBX,02

MOVDX,03

MOVCX,04

L20:

INCAX

ADDBX,AX

SHRDX,1

()

答案:

(1)(AX)=5(BX)=16(CX)=0(DX)=0

(2)(AX)=3(BX)=7(CX)=2(DX)=0

(3)(AX)=2(BX)=4(CX)=3(DX)=1

5.变量N1和N2均为2字节的非压缩BCD数码,请写出计算N1与N2之差的指令序列。

MOVAX,0

MOVAL,N1

SUBAL,N2

AAS

MOVDL,AL

MOVAL,N1+1

SBBAL,N2+1

MOVDH,AL

6.在已学的指令中,可实现累加器清0的单条指令有哪些?

比较它们的功能。

(1)MOVAX,0;

仅将累加器清0,不会影响任何标志位

(2)SUBAX,AX;

累加器清0的同时影响所有状态标志,具体地有:

ZF、PF置1,CF、AF、SF、OF均清0

(3)ANDAX,0;

将累加器清0,ZF、PF置1,CF、OF、SF清0

(4)XORAX,AX;

7.已知(DS)=2000H,有关的内存单元值为:

(21000H)=00H,(21001H)=12H,(21200H)=00H,(21201H)=10H,(23200H)=20H,(23201H)=30H,(23400H)=40H,(23401H)=30H,(23600H)=60H,(23601H)=30H,符号COUNT的偏移地址为1200H。

执行下列指令后,寄存器AX、BX、SI的值分别是多少?

MOVBX,OFFSETCOUNT

MOVSI,[BX]

MOVAX,COUNT[SI][BX]

执行结果为(BX)=1200H,(SI)=1000H,(AX)=3040H。

8.设若内存单元DATA在数据段中偏移量为24C0H处,24C0H~24C3H单元中依次存放着55H、66H、77H、88H。

下列几条指令执行后,寄存器AX、BX、CL、SI、DS的值分别是多少?

MOVAX,DATA

LEASI,DATA

MOVCL,[S

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

当前位置:首页 > PPT模板 > 其它模板

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

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