最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

第4章INTEL80X86系列微处理器习题参考答案

IT圈 admin 26浏览 0评论

2024年4月24日发(作者:佟佳晶霞)

Intel80X86

系列微处理器 第

4

系列微处理器

4

章 习题解答

Intel80X86

系列微处理器

4.1 8086/8088内部寄存器有哪些?哪些属于通用寄存器?哪些用于存放段地址?标志寄存器的含义是什

么?

答:

8086/8088内部有14个16位的寄存器。8

位的寄存器。

8个通用寄存器AX、

AX

、BX、

BX

、CX、

CX

、DX、

DX

、SP、

SP

、BP、

BP

、SI、

SI

、DI。

DI

。4个16

位的段寄存器CS、

CS

、DS、

DS

、SS、

SS

、ES,用于存放段地址。标志寄存器

ES

,用于存放段地址。标志寄存器FLAGS用于存放指令执行结果的特征和CPU

工作方式,其内容通常称为处理器状态字PSW。

PSW

4.2 对于8086/8088CPU,确定以下运算的结果与标志位。

(1)5439H+456AH

(4)3881H+3597H

(2)2345H+5219H

(5)5432H-6543H

(3)54E3H-27A0H

(6)9876H+1234H

略。

4.3 8086/8088为什么要对存储器采用分段管理?一个段最多包含多少存储单元?

答:

8086/8088内部与地址有关的寄存器都是16位的,只能处理16位地址,对内存的直接寻址范围最大

只能达64KB。为了实现对

64KB

。为了实现对1MB单元的寻址,8086/8088

单元的寻址,

8086/8088系统采用了存储器分段技术。一个段最多包含64K

个存储单元。

个存储单元。

4.4 8086/8088CPU内部共有多少个段?分别称为什么段?段地址存放在哪些寄存器中?

答:

8086/8088 CPU内部共有4个段。分别称为代码段、数据段、堆栈段和附加段。段地址存放在4个16

位的段寄存器,CS

位的段寄存器,

CS代码段寄存器、DS

代码段寄存器、

DS数据段寄存器、SS

数据段寄存器、

SS堆栈段寄存器、ES

堆栈段寄存器、

ES附加段寄存器中。

附加段寄存器中。

4.5 简述物理地址、逻辑地址、段基地址和偏移量的含义及其相互关系。

答:

物理地址:信息在存储器中实际存放的地址,它是CPU访问存储器时实际输出的地址。

访问存储器时实际输出的地址。

逻辑地址:编程时所使用的地址,由段基地址和偏移量两部分构成。

段基地址(段地址或段基址):段的起始地址的高16位。

位。

偏移量(偏移地址):所访问的存储单元距段的起始地址之间的字节距离。

给定段基地址和偏移量,就可以在存储器中寻址所访问的存储单元。物理地址=段基地址×16+偏移

16+

偏移

量。

4.6 8086/8088CPU中存储单元的物理地址的计算公式是什么?如果[CS]=0200H,[IP]=0051H,则物理地址

是多少?

解:

物理地址=段基地址×16+

物理地址=段基地址×

16+偏移量

16+

偏移量

偏移量

左移

4

02000H

+

0051H

02051H

0200H

0051H

段基地址

逻辑地址

偏移量

物理地址是02051H。

02051H

4.7 8086/8088CPU内部用来存放下一条要执行指令的偏移地址的寄存器是什么?它与哪个段寄存器配合产

生下一条要执行指令的物理地址?

答:

8086/8088CPU内部用来存放下一条要执行指令的偏移地址的寄存器是指令指针IP。它与代码段寄存

IP

。它与代码段寄存

器CS合产生下一条要执行指令的物理地址。

合产生下一条要执行指令的物理地址。

0

Intel80X86

系列微处理器 第

4

系列微处理器

4.8 某存储单元在数据段中,已知[DS]=1000H,偏移地址为1200H,则它的物理地址是多少?

解:

左移

4

10000H

+

1200H

11200H

1000H

1200H

段基地址

逻辑地址

偏移量

物理地址是11200H。

11200H

4.9 已知[SS]=2360H,[SP]=0800H,若将20H个字节的数据入栈,则[SP]=?

解:

[SP]=0800H-20H×

[SP]=0800H-20H

×2=7C0H

4.10 对于8086/8088CPU,已知[DS]=0150H,[CS]=0640H,[SS]=0250H,[SP]=1200H,问:

(1)数据段最多可存放多少字节?首地址和末地址分别为多少?

(2)代码段最多可存放多少字节?首地址和末地址分别为多少?

(3)如果先后将FLAGS、AX、BX、CX、SI和DI压入堆栈,则[SP]=?

解:

(1)数据段首地址为01500H,按

01500H

,按64K字节容量末地址应为114FFH,然而考虑到堆栈段首地址

114FFH

,然而考虑到堆栈段首地址=SS

,然而考虑到堆栈段首地址

=SS×

=SS

×

16=02500H,数据段中存放信息不能与堆栈段重合,故数据段末地址

16=02500H

,数据段中存放信息不能与堆栈段重合,故数据段末地址=0250H-1=024FFH,即数据段范围:

=0250H-1=024FFH

,即数据段范围:

01500H~

01500H

~024FFH,可以存放

024FFH

,可以存放4K字节。

字节。

(2)代码段最多可存放64K字节,首地址为06400H,末地址为

06400H

,末地址为163FFH。

163FFH

(3)[SP]=1200H-0CH=11F4H。

[SP]=1200H-0CH=11F4H

4.11 从功能上,8086CPU可分为哪两部分?各部分的主要功能是什么?二者如何协调工作?

答:

从功能上,8086CPU

从功能上,

8086CPU可分总线接口部件BIU和执行部件EU两部分。

两部分。

BIU负责完成微处理器内部与外部(

负责完成微处理器内部与外部

(内存储器和I/O端口)

端口

)的信息传送,即负责取指令和存取数据。执

行部件EU的功能就是负责指令的执行。

的功能就是负责指令的执行。

总线接口部件(BIU

总线接口部件(

BIU)和执行部件(

BIU

)和执行部件(EU

)和执行部件(

EU)按流水线技术原则协调工作,共同完成所要求的信息处理任

EU

)按流水线技术原则协调工作,共同完成所要求的信息处理任

务:

务:

4.12 8086/8088的指令队列分别有多少个字节?

答:

8086的指令队列长度为6个字节,当队列空闲两个字节时,BIU

个字节,当队列空闲两个字节时,

BIU自动从存储器取出指令字节,存入指

令队列中;而8088的指令队列长度为4个字节,当队列空闲一个字节时,BIU

个字节,当队列空闲一个字节时,

BIU就自动取指令字节,并存到

指令队列中去。

指令队列中去。

4.13 8086CPU有多少根数据线?多少根地址线?可寻址的地址空间为多少字节?加电复位后,执行第一条

指令的物理地址是多少?

答:

8086CPU有16根数据线。20

根数据线。

20根地址线。可寻址的地址空间为1M字节。加电复位后,执行第一条指令

的物理地址是FFFF0H。

FFFF0H

4.14

MN/MX

是工作模式选择信号,由外部输入,为高电平时CPU工作在什么模式?为低电平时,CPU

工作在什么模式?

答:

MN/MX

为高电平时,CPU

为高电平时,

CPU工作在最小模式。为低电平时,CPU

工作在最小模式。为低电平时,

CPU工作在最大模式。

工作在最大模式。

4.15 8086/8088CPU的非屏蔽中断输入信号和可屏蔽中断信号分别由什么引脚输入?标志寄存器中IF可屏

蔽的中断是什么?

1

Intel80X86

系列微处理器 第

4

系列微处理器

答:

8086/8088CPU的非屏蔽中断输入信号和可屏蔽中断信号分别NMI和INTR引脚输入。标志寄存器中IF

可屏蔽的中断是可屏蔽中断信号INTR。

INTR

4.16 8086工作于最小模式,CPU完成存储器读操作时

M/IO

RD

WR

DT/R

引脚分别为什么电

平。如果进行字节操作,单元地址为2001H,则

BHE

和A

0

分别为什么电平?如果为字操作且该字为“对

准存放”,则

BHE

和A

0

为分别为什么电平?

解:

8086工作于最小模式,CPU完成存储器读操作时

M/IO

RD

WR

DT/R

引脚分别为高、低、

高、低电平。如果进行字节操作,单元地址为2001H,则

BHE

和A

0

分别为低、高电平?如果为字操作且该

字为“对准存放”,则

BHE

和A

0

为分别为低、低电平。

4.17 时钟发生器8284A的主要功能是什么?

答:

8086/8088系统采用Intel8284A作为时钟发生器。8284A将晶体振荡器的振荡频率分频后,向

8086/8088系统提供符合要求的时钟脉冲CLK、PCLK和OSC信号;同时为复位信号RESET和准备好信号READY

CLK

进行同步。

进行同步。

4.18 8086/8088采用什么器件实现总线分离?涉及到的控制信号有哪些?

答:

8086/8088CPU采用8位锁存驱动器Intel8282和8位双向数据收发器Intel8286实现总线分离。涉及

到的控制信号包括:ALE

到的控制信号包括:

ALE、

ALE

DEN

DT/R

4.19 8086CPU的基本总线周期由几个时钟周期组成?在读写周期T

1

状态,CPU向总线发出什么信息?如果

时钟频率为5MHz,则一个时钟周期为多少?

解:

4个。CPU

个。

CPU向总线发出地址信息。1/5MHz=200ns

向总线发出地址信息。

1/5MHz=200ns。

1/5MHz=200ns

4.20 说明8086/8088总线周期中4个基本状态中的具体任务,如果AL中的内容为98H,试画出将AL中内

容存至内存12345H单元时对应的时序图(假设插入1个等待周期)。

解:

T1

:地址锁存

:地址锁存

T2

:地址撤销,准备数据

:地址撤销,准备数据

T3

:数据稳定到总线上

:数据稳定到总线上

T4

:读写总线上的数据

:读写总线上的数据

CLK

M/IO

A19-A16

AD15-AD0

BHE

ALE

WR

DT/R

DEN

T1

T2

T3

Tw

T4

1

2340H 98H

READY

2

2024年4月24日发(作者:佟佳晶霞)

Intel80X86

系列微处理器 第

4

系列微处理器

4

章 习题解答

Intel80X86

系列微处理器

4.1 8086/8088内部寄存器有哪些?哪些属于通用寄存器?哪些用于存放段地址?标志寄存器的含义是什

么?

答:

8086/8088内部有14个16位的寄存器。8

位的寄存器。

8个通用寄存器AX、

AX

、BX、

BX

、CX、

CX

、DX、

DX

、SP、

SP

、BP、

BP

、SI、

SI

、DI。

DI

。4个16

位的段寄存器CS、

CS

、DS、

DS

、SS、

SS

、ES,用于存放段地址。标志寄存器

ES

,用于存放段地址。标志寄存器FLAGS用于存放指令执行结果的特征和CPU

工作方式,其内容通常称为处理器状态字PSW。

PSW

4.2 对于8086/8088CPU,确定以下运算的结果与标志位。

(1)5439H+456AH

(4)3881H+3597H

(2)2345H+5219H

(5)5432H-6543H

(3)54E3H-27A0H

(6)9876H+1234H

略。

4.3 8086/8088为什么要对存储器采用分段管理?一个段最多包含多少存储单元?

答:

8086/8088内部与地址有关的寄存器都是16位的,只能处理16位地址,对内存的直接寻址范围最大

只能达64KB。为了实现对

64KB

。为了实现对1MB单元的寻址,8086/8088

单元的寻址,

8086/8088系统采用了存储器分段技术。一个段最多包含64K

个存储单元。

个存储单元。

4.4 8086/8088CPU内部共有多少个段?分别称为什么段?段地址存放在哪些寄存器中?

答:

8086/8088 CPU内部共有4个段。分别称为代码段、数据段、堆栈段和附加段。段地址存放在4个16

位的段寄存器,CS

位的段寄存器,

CS代码段寄存器、DS

代码段寄存器、

DS数据段寄存器、SS

数据段寄存器、

SS堆栈段寄存器、ES

堆栈段寄存器、

ES附加段寄存器中。

附加段寄存器中。

4.5 简述物理地址、逻辑地址、段基地址和偏移量的含义及其相互关系。

答:

物理地址:信息在存储器中实际存放的地址,它是CPU访问存储器时实际输出的地址。

访问存储器时实际输出的地址。

逻辑地址:编程时所使用的地址,由段基地址和偏移量两部分构成。

段基地址(段地址或段基址):段的起始地址的高16位。

位。

偏移量(偏移地址):所访问的存储单元距段的起始地址之间的字节距离。

给定段基地址和偏移量,就可以在存储器中寻址所访问的存储单元。物理地址=段基地址×16+偏移

16+

偏移

量。

4.6 8086/8088CPU中存储单元的物理地址的计算公式是什么?如果[CS]=0200H,[IP]=0051H,则物理地址

是多少?

解:

物理地址=段基地址×16+

物理地址=段基地址×

16+偏移量

16+

偏移量

偏移量

左移

4

02000H

+

0051H

02051H

0200H

0051H

段基地址

逻辑地址

偏移量

物理地址是02051H。

02051H

4.7 8086/8088CPU内部用来存放下一条要执行指令的偏移地址的寄存器是什么?它与哪个段寄存器配合产

生下一条要执行指令的物理地址?

答:

8086/8088CPU内部用来存放下一条要执行指令的偏移地址的寄存器是指令指针IP。它与代码段寄存

IP

。它与代码段寄存

器CS合产生下一条要执行指令的物理地址。

合产生下一条要执行指令的物理地址。

0

Intel80X86

系列微处理器 第

4

系列微处理器

4.8 某存储单元在数据段中,已知[DS]=1000H,偏移地址为1200H,则它的物理地址是多少?

解:

左移

4

10000H

+

1200H

11200H

1000H

1200H

段基地址

逻辑地址

偏移量

物理地址是11200H。

11200H

4.9 已知[SS]=2360H,[SP]=0800H,若将20H个字节的数据入栈,则[SP]=?

解:

[SP]=0800H-20H×

[SP]=0800H-20H

×2=7C0H

4.10 对于8086/8088CPU,已知[DS]=0150H,[CS]=0640H,[SS]=0250H,[SP]=1200H,问:

(1)数据段最多可存放多少字节?首地址和末地址分别为多少?

(2)代码段最多可存放多少字节?首地址和末地址分别为多少?

(3)如果先后将FLAGS、AX、BX、CX、SI和DI压入堆栈,则[SP]=?

解:

(1)数据段首地址为01500H,按

01500H

,按64K字节容量末地址应为114FFH,然而考虑到堆栈段首地址

114FFH

,然而考虑到堆栈段首地址=SS

,然而考虑到堆栈段首地址

=SS×

=SS

×

16=02500H,数据段中存放信息不能与堆栈段重合,故数据段末地址

16=02500H

,数据段中存放信息不能与堆栈段重合,故数据段末地址=0250H-1=024FFH,即数据段范围:

=0250H-1=024FFH

,即数据段范围:

01500H~

01500H

~024FFH,可以存放

024FFH

,可以存放4K字节。

字节。

(2)代码段最多可存放64K字节,首地址为06400H,末地址为

06400H

,末地址为163FFH。

163FFH

(3)[SP]=1200H-0CH=11F4H。

[SP]=1200H-0CH=11F4H

4.11 从功能上,8086CPU可分为哪两部分?各部分的主要功能是什么?二者如何协调工作?

答:

从功能上,8086CPU

从功能上,

8086CPU可分总线接口部件BIU和执行部件EU两部分。

两部分。

BIU负责完成微处理器内部与外部(

负责完成微处理器内部与外部

(内存储器和I/O端口)

端口

)的信息传送,即负责取指令和存取数据。执

行部件EU的功能就是负责指令的执行。

的功能就是负责指令的执行。

总线接口部件(BIU

总线接口部件(

BIU)和执行部件(

BIU

)和执行部件(EU

)和执行部件(

EU)按流水线技术原则协调工作,共同完成所要求的信息处理任

EU

)按流水线技术原则协调工作,共同完成所要求的信息处理任

务:

务:

4.12 8086/8088的指令队列分别有多少个字节?

答:

8086的指令队列长度为6个字节,当队列空闲两个字节时,BIU

个字节,当队列空闲两个字节时,

BIU自动从存储器取出指令字节,存入指

令队列中;而8088的指令队列长度为4个字节,当队列空闲一个字节时,BIU

个字节,当队列空闲一个字节时,

BIU就自动取指令字节,并存到

指令队列中去。

指令队列中去。

4.13 8086CPU有多少根数据线?多少根地址线?可寻址的地址空间为多少字节?加电复位后,执行第一条

指令的物理地址是多少?

答:

8086CPU有16根数据线。20

根数据线。

20根地址线。可寻址的地址空间为1M字节。加电复位后,执行第一条指令

的物理地址是FFFF0H。

FFFF0H

4.14

MN/MX

是工作模式选择信号,由外部输入,为高电平时CPU工作在什么模式?为低电平时,CPU

工作在什么模式?

答:

MN/MX

为高电平时,CPU

为高电平时,

CPU工作在最小模式。为低电平时,CPU

工作在最小模式。为低电平时,

CPU工作在最大模式。

工作在最大模式。

4.15 8086/8088CPU的非屏蔽中断输入信号和可屏蔽中断信号分别由什么引脚输入?标志寄存器中IF可屏

蔽的中断是什么?

1

Intel80X86

系列微处理器 第

4

系列微处理器

答:

8086/8088CPU的非屏蔽中断输入信号和可屏蔽中断信号分别NMI和INTR引脚输入。标志寄存器中IF

可屏蔽的中断是可屏蔽中断信号INTR。

INTR

4.16 8086工作于最小模式,CPU完成存储器读操作时

M/IO

RD

WR

DT/R

引脚分别为什么电

平。如果进行字节操作,单元地址为2001H,则

BHE

和A

0

分别为什么电平?如果为字操作且该字为“对

准存放”,则

BHE

和A

0

为分别为什么电平?

解:

8086工作于最小模式,CPU完成存储器读操作时

M/IO

RD

WR

DT/R

引脚分别为高、低、

高、低电平。如果进行字节操作,单元地址为2001H,则

BHE

和A

0

分别为低、高电平?如果为字操作且该

字为“对准存放”,则

BHE

和A

0

为分别为低、低电平。

4.17 时钟发生器8284A的主要功能是什么?

答:

8086/8088系统采用Intel8284A作为时钟发生器。8284A将晶体振荡器的振荡频率分频后,向

8086/8088系统提供符合要求的时钟脉冲CLK、PCLK和OSC信号;同时为复位信号RESET和准备好信号READY

CLK

进行同步。

进行同步。

4.18 8086/8088采用什么器件实现总线分离?涉及到的控制信号有哪些?

答:

8086/8088CPU采用8位锁存驱动器Intel8282和8位双向数据收发器Intel8286实现总线分离。涉及

到的控制信号包括:ALE

到的控制信号包括:

ALE、

ALE

DEN

DT/R

4.19 8086CPU的基本总线周期由几个时钟周期组成?在读写周期T

1

状态,CPU向总线发出什么信息?如果

时钟频率为5MHz,则一个时钟周期为多少?

解:

4个。CPU

个。

CPU向总线发出地址信息。1/5MHz=200ns

向总线发出地址信息。

1/5MHz=200ns。

1/5MHz=200ns

4.20 说明8086/8088总线周期中4个基本状态中的具体任务,如果AL中的内容为98H,试画出将AL中内

容存至内存12345H单元时对应的时序图(假设插入1个等待周期)。

解:

T1

:地址锁存

:地址锁存

T2

:地址撤销,准备数据

:地址撤销,准备数据

T3

:数据稳定到总线上

:数据稳定到总线上

T4

:读写总线上的数据

:读写总线上的数据

CLK

M/IO

A19-A16

AD15-AD0

BHE

ALE

WR

DT/R

DEN

T1

T2

T3

Tw

T4

1

2340H 98H

READY

2

发布评论

评论列表 (0)

  1. 暂无评论