《Intel微处理器(第七版)》第二至第八章作业

合集下载

微处理器2中央处理器CPU

微处理器2中央处理器CPU

T1 T2 T3 T4 T1
CPU周期 (取指令) 指令周期
T2 T3 T4
CPU周期 (执行指令)
总线时序
CLK M/IO A19~16
BHE AD15~0
ALE RD DT/R DEN READY
8086存储器读周期时序图 T1 T2 T3 T4 T1
地址
状态 S3~S6
地址
数据
存储器读周期时序
执行部件EU(Execution Unit)
( b)功能 从BIU指令队列中读取指令; 由EU控制电路对指令进行译码分析,指出操作性质 及对象;
译码的结果若需访问内存或I/O端口,则EU计算出 操作数的16位偏移地址送给BIU,由BIU的地址加法 器∑形成20位的物理地址;
将取来的操作数经数据总线送ALU进行指定操作; ALU完成各种算术和逻辑运算,运算结果经内部总线
指令流水线
假设CPU执行一条指令的过程如下: ➢ 取指令:从内存读取一条指令存入指令寄存器
( Instruction Fetch, IF); ➢ 译码:分析指令操作码(Instruction Decode, ID); ➢ 取操作数:根据指令需要,从内存或I/O端口读取操
作数(Read Data, RD); ➢ 执行:CPU执行指令(Execution, EX); ➢ 保存结果:指令执行结果写入内存或I/O端口中
➢ 总线周期(机器周期、CPU周期) CPU从存储器或I/O口完成一次存取操作的时间称为总线周期。 典型总线周期有:存储器读(写)周期、 输入(输出)周期、中断 响应周期。指令不同,所需的总线周期也不同。
➢ 指令周期 执行一条指令所需要的时间称为指令周期。一般要1个以上的 总线周期。

汇编语言第2章Intel微处理器

汇编语言第2章Intel微处理器

汇编语言第2章Intel微处理器本文讨论《汇编语言第2章Intel微处理器》这个话题。

首先,我将以合适的段落和格式来阐述汇编语言和Intel微处理器的相关内容。

Intel微处理器是现代计算机中广泛使用的重要组成部分。

作为一种关键的处理器架构,它拥有强大的功能和广泛的应用领域。

在本文中,我们将重点关注汇编语言和Intel微处理器的基本知识和原理。

1. 汇编语言简介在计算机编程中,汇编语言是一种低级语言,用于编写与特定处理器架构相对应的程序。

它相对于高级语言来说更加接近计算机硬件,因此编写的程序可以更直接地操作计算机资源。

在汇编语言中,程序员使用指令、寄存器和内存地址来编写代码。

2. Intel微处理器的发展历程Intel微处理器自1971年问世以来,经历了多个世代的变迁和升级。

每一代处理器都带来了更高的性能和更多的功能。

从最初的Intel 4004到现在的Intel Core处理器系列,每一代处理器都在不断地刷新计算机的性能极限。

3. Intel微处理器的组成和特点由于篇幅有限,这里只简要介绍Intel微处理器的基本组成和特点。

具体的细节可以参考相关参考资料。

Intel微处理器由控制单元、运算单元、寄存器、高速缓存和总线等多个部分组成。

控制单元负责指令的解码和执行,而运算单元执行指令中指定的计算操作。

寄存器用于存储临时数据和指令地址等信息。

高速缓存作为存储器的一种,提供了更快的数据访问速度。

总线则负责处理不同部件之间的数据传输。

4. 汇编语言与Intel微处理器的关系汇编语言是Intel微处理器编程的重要一环。

汇编语言在编程过程中提供了对处理器硬件的直接控制,使得程序员可以更加精确地操作处理器。

通过学习和应用汇编语言,程序员可以更好地理解和利用Intel 微处理器的功能和性能。

5. 汇编语言编程的应用领域汇编语言编程广泛应用于操作系统、嵌入式系统、驱动程序和高性能计算等领域。

通过使用汇编语言,程序员可以最大限度地发挥Intel 微处理器的潜力,实现高效的程序和系统。

第02章 Intel 80x86 系列微处理器(4)

第02章 Intel 80x86 系列微处理器(4)

同济大学电信学院2.3 Intel 80386/486 CPU2.3.1 80386/80486的主要特点2.3.2 80386/80486的内部结构2.3.3 80386/80486的三种工作方式2.3.1 80386/80486的主要特点●采用全32位结构,其内部寄存器、ALU和操作是32位,数据线和地址线均为32位●提供32位外部总线接口,最大数据传输率为32MB/s,具有自动切换数据总线宽度的功能●具有片内集成的存储器管理部件MMU,可支持虚拟存储和特权保护,虚拟存储器空间可达64太字节(TB)●具有实地址方式、保护方式和虚拟8086方式3种工作方式●采用了比8086更先进的流水线结构,使其能高效、并行地完成取指、译码、执行和存储管理功能(指令队列16字节长)同济大学电信学院2.3.2 80386/80486内部结构同济大学电信学院同济大学电信学院80386内部结构●总线接口部件(BIU )●指令预取部件(IPU )●指令译码部件(IDU )●指令执行部件(EU )●分段部件(SU )●分页部件(PU )80386内部结构●总线接口部件(BIU)◆微处理器与系统的接口,其功能是:在取指令、取数据、分段部件请求和分页部件请求时,有效地满足微处理器对外部总线的传输要求。

◆BIU能接收多个内部总线请求,并且能按优先权加以选择,最大限度地利用所提供的总线宽度,为这些请求服务。

●指令预取部件(IPU)◆职责是从存储器预先取出指令◆有一个能容纳16条指令的队列同济大学电信学院同济大学电信学院80386内部结构●指令译码部件(IDU )◆职责是从预取部件的指令队列中取出指令字节,对它们进行译码后存入自身的已译码指令队列中,并且作好供执行部件处理的准备工作。

◆如果在预译码时发现是转移指令,可提前通知总线接口部件BIU去取目标地址中的指令,取代原预取队列中的顺序指令。

80386内部结构●指令执行部件(EU)◆由控制部件、数据处理部件和保护测试部件组成。

《Intel微处理器(第七版)》第二至第八章作业

《Intel微处理器(第七版)》第二至第八章作业

《Intel微处理器(第七版)》第二至第八章作业第二章2、80286可寻址的寄存器为8位和16位宽。

例如:AL为8位,AX为16位。

两种寄存器都可以用于各种寻址。

8、如果带符号数FFH与01H相加,会溢出吗?答:不会。

FFH = -1;-1与1相加的结果为0。

14、为处理器工作在实模式下,对于下列CS:IP组合,找出要执行下一条指令的存储器地址。

(a)CS = 1000H和IP = 2000H(b)CS = 2000H和IP = 1000H(c)CS = 2300H和IP = 1A00H(d)CS = 1A00H和IP = B000H(e)CS = 3456H和IP = ABCDH答:利用“地址= CS*10H + IP”,可以得出(a)12000H;(b)21000H;(c)24A00H;(d)25000H;(e)3F12DH20、80286工作在实模式下下,给出下列寄存器组合所寻址的存储单元地址。

(a)DS = 1000H,DI = 2000H(b)DS = 2000H,SI = 1002H(c)SS = 2300H,BP = 3200H(d)DS = A000H,BX = 1000H(e)SS = 2900H,SP = 3A00H答:本题考查对默认寄存器组合的认识,(a)DS:DI为数据地址,结果为12000H;(b)DS:SI为数据地址,结果为21002H;(c)SS:SP为堆栈地址,结果为26200H;(d)DS:BX为数据地址,结果为A100H;(d)SS:SP为堆栈地址,结果为32A00H。

28、一个Pentium 4微处理器的描述符中含有基地址00280000H,界限00010H,并且G = 1,由这个描述符寻址的起始地址和结束地址是什么?答:本题考查对保护模式寻址方式的理解。

保护模式下,段寄存器中包含选择子,由选择子从描述符表中选择一个描述符,描述符中包含有段的基地址和界限等信息。

02第2章8086微处理器

02第2章8086微处理器

2.2.2 总线接口部件BIU 总线接口部件的功能是负责与存储器、I/O端口 传送数据,即BIU管理在存储器中存取程序和 数据的实际处理过程。 总线接口部件由下列各部分组成: (1) 4个段地址寄存器,即 CS——16 CS——16位代码段寄存器; DS——16位数据段寄存器; ES——16位附加段寄存器; SS——16位堆栈段寄存器。 (2) 16位指令指针寄存器IP。 (3) 20位的地址加法器。 (4) 6字节的指令队列。 8086/8088的BIU有如下特点:
(4) 在执行转移指令、调用指令和返回指令时,下面 要执行的指令就不是在程序中紧接着的那条指令了, 而总线接口部件往指令队列装入指令时,总是按顺序 进行的,这样,指令队列中已经装入的字节就没有用 了。遇到这种情况,指令队列中的原有内容被自动消 除,总线接口部件会接着往指令队列中装入另一个程 序段中的指令。
图2.5
例如,代码段寄存器CS=2000H,指令指针寄存器存 放的是偏移地址IP=2200H,存储器的物理地址为 20000H+2200H=22200H。 我们可以把每一个存储单元看成是具有两种类型的地 址:物理地址和逻辑地址。物理地址就是实际地址, 它具有20位的地址值,并是惟一标识1MB存储空间的 某一个字节的地址。逻辑地址由段基址和偏移地址组 成。程序以逻辑地址编址,而不是用物理地址。 4个段寄存器分别指向4个现行可寻址的分段的起始 字节单元。一般指令程序存放在代码段中,段地址来 源于代码段寄存器,偏移地址来源于指令指针IP。当 涉及到一个堆栈操作时,段地址寄存器为SS,
如果必须访问存储器或者输入/输出设备, 那么,执行部件就会请求总线接口部件,进入 总线周期,完成访问内存或者输入/输出端口 的操作;如果此时总线接口部件正好处于空闲 状态,那么,会立即响应执行部件的总线请求。 但有时会遇到这样的情况,执行部件请求总线 接口部件访问总线时,总线接口部件正在将某 个指令字节取到指令队列中,此时总线接口部 件将首先完成这个取指令的总线周期,然后再 去响应执行部件发出的访问总线的请求。 (3) 当指令队列已满,而且执行部件又没有总 线访问时,总线86/8088存储空间中,把16字节的存储空间称 作一节(paragraph)。为了简化操作,要求各个逻辑 段从节的整数边界开始,也就是说段首地址低4位应 该是“0”,因此就把段首地址的高16位称为“段基 址”,存放在段寄存器DS或CS或SS或ES中,段内的 偏移地址存放在IP或SP中。 若已知当前有效的代码段、数据段、附加段和堆栈段 的段基址分别为1055H,250AH,8FFBH和EFF0H,那么 它们在存储器中的分布情况如图2.4所示。

第02章 Intel 80x86 系列微处理器(2)

第02章 Intel 80x86 系列微处理器(2)

同济大学电信学院课内实验安排●3月22日前,学生完善各自CPU (调试期间遇到问题,可直接到王力生老师实验室电信学院246房间寻求帮助)。

●3月23日开始,每周一个实验,最后一个实验给两周时间,具体安排表在mips246网站的ppt 模块中。

同济大学电信学院Vcc(5V)HLDA (RQ/GT 1)ALE (QS 0)AD 15A 17/S 4A 16/S 3A 18/S 5A 19/S 6INTA (QS 0)HOLD (RQ/GT 0)DT/R (S 1)DEN (S 0)GND NMI GNDINTR CLK 1247113581216691317201014181519BHE/S 7MN/MX WR (LOCK)AD 14AD 12AD 9AD 5AD 13AD 11AD 8AD 4AD 0AD 10AD 7AD 3AD 6AD 2AD 1RDM/IO (S 2)RESETTEST READY 40393734303836332925353228242131272326228086CPUGND A 14A 12A 9AD 5A 13A 11A 8AD 4AD 0A 10AD 7AD 3NMI GNDAD 6AD 2INTR AD 1CLK 1247113581216691317201014181519Vcc(5V)A 15A 17/S 4SS 0HLDA (RQ/GT 1)A 16/S 3A 18/S 5MN/MX WR (LOCK)ALE (QS 0)A 19/S 6RDM/IO (S 2)INTA (QS 0)RESETHOLD (RQ/GT 0)DT/R (S 1)TEST DEN (S 0)READY 40393734303836332925353228242131272326228088CPU2.1.4 8086/8088芯片的引脚信号同济大学电信学院地址数据及状态信号线Vcc(5V)HLDA (RQ/GT 1)ALE (QS 0)AD 15A 17/S 4A 16/S 3A 18/S 5A 19/S 6INTA (QS 0)HOLD (RQ/GT 0)DT/R (S 1)DEN (S 0)GND NMI GNDINTR CLK 1247113581216691317201014181519BHE/S 7MN/MX WR (LOCK)AD 14AD 12AD 9AD 5AD 13AD 11AD 8AD 4AD 0AD 10AD 7AD 3AD 6AD 2AD 1RDM/IO (S 2)RESETTEST READY 40393734303836332925353228242131272326228086CPU1. AD 15--AD 0 :地址/数据复用引脚(双向、三态)●在总线周期的T 1状态用来输出要访问的存储器或I/O 端口地址。

第2章 Intel 微处理器

第2章  Intel 微处理器
CPU 向内存写数据过程
DB CB AB
内 存 储 器
执行单元(EU)
总线接口单元(BIU) 上页 下页 帮助 退出
第2章
3 . 8086 的内部结构特点
指令的提取与执行分别由 BIU和EU两部件完成,二
者既独立又相互配合——并行工作。
EU CPU BIU BUS
取指1 忙
执指1 取指2 忙
执指2 取指3 忙
第2章
/ / / / / / / / / / / / / / / / //// / / / / / // / / / / / / / / /
第2章
上页
下页
帮助
退出
2.1.2 8086 微处理器的内部结构
执行单元(EU)
总线接口单元(BIU)
1、BIU
① 总线控制逻辑 ③ 段寄存器 ⑤ 指令队列缓冲器
② 指令指针寄存器IP ④ 地址加法器
上页 下页 帮助 退出
第2章
2.1.2 8086 微处理器的内部结构
执行单元(EU)
总线接口单元(BIU)
微型计算机原理与接口技术(第二版)
/ / / / / / / / / / / / / / / / //// / / / / / // / / / / / / / / /
• BP :基址指针寄存器,常用于存放存储器间接寻址 时堆栈段内的偏移地址。 • SP :堆栈指针寄存器,一般用于存放堆栈段中栈顶 的偏移地址,以实现对栈顶单元的数据入栈/出栈操作。 • SI :源变址寄存器,在串操作指令中用来存放源串 操作数的偏移地址。 • DI :目的变址寄存器,在串操作指令中用来存放目 的串操作数的偏移地址。
2.1 Intel 8086微处理器

第二章Intel32位微处理器

第二章Intel32位微处理器

第二章Intel32位微处理器Intel公司生产的80386,80486,MMX Pentium,PentiumⅡ以及PentiumⅢ都属于32位的微处理器。

然而它们在电路结构,芯片性能、主频等方面差异甚大,由不同的微处理器组成的微机系统,其系统功能也有明显的差异。

但是,从用户编程的角度,由这些微处理器组成的微机系统,其基本工作原理相同,在基本编程结构、基本工作模式、存储器管理模式、中断管理模式、任务管理模式等方面大同小异,它们的指令集保持向上兼容。

因此本节在讨论微机原理时,主要论述这些微处理器的共同特点。

从讨论微机系统基本工作原理的观点看,80486在Intel32位微处理器的体系演化过程中,具有承上启下的地位。

一方面它上承80386,从芯片特征上可看出其将80386及运算协处理器80387、高速缓存器集成于一体。

另一方面它下启Pentium系列微处理器的基本体系结构。

虽然Pentium采用了超标量设计,有两条流水线及配套的辅助部件,有多媒体控制能力等,但在涉及微机系统基本工作原理的部分,仍然保持了80486的逻辑部件及功能。

因此本书以80486作为论述Intel32位微处理器的基本模型。

所谓32位微处理器是指在微处理器内部以32位寄存器为单位进行数据处理。

而在数据传送时,根据发送端与接收端处理数据的速度不同,可能以128位、64位、32位、16位或8位二进制位为单位,进行数据的传送。

但在内存中总是以8位二进制位(字节)为单位来存放数据。

2.1 微处理器的基本结构2.1.1微处理器的内部基本结构对每一种类型的微处理器,从不同的观点都可以勾划出差别很大的内部详细结构框图。

本节我们只以80486为例,给出32位微处理器的基本结构框图,图2.1描述了32位微处理器内部的基本逻辑部化部件之间的基本联系、各部件的主要功能、数据在微处理器中的主要流动趋向。

其中每个图框都可以进一步细化成一个局部结构图,用于反映该部件内的情况。

第2章Intel8x86微处理器-PPT文档资料

第2章Intel8x86微处理器-PPT文档资料
(1)通用寄存器组 功能:存放操作数和中间结果
AX AH AL BH BL CH CL DH DL
BX
CX DX
处理“字”指令时, 用16位寄存器,处 理“字节”指令时, 用8位寄存器
AX(AH,AL)累加器
存放参加运算的操作数和运算结果,有些指令约 定AX(AL)寄存器为累加器,如乘法、除法、输 入/出指令。所有寄存器均可作累加器
§2.1 8086/8088 CPU的结构
§2.1.1 执行部件
8086与8088差异
8086和8088CPU的内部结构基本相同,但是外 部性能有所区别,8086是16位数据总线,而8088 是8位数据总线 8088用于处理外设数据及检测控制系统 8086CPU 总线接口部件(Bus Interface Unit, BIU) 执行部件(Execution Unit, EU)
(3)算术逻辑单元
加法器,完成16位或8位算术逻辑运算
(4)标志寄存器 FR
15 11 9 8 7 6 5 4 3 2 1 0 指 令 指 示 器 标 志 寄 存 器 进 位 标 志 位 奇 偶 标 志 位 半 进 位 标 志 零 标 志 符 号 标 志
X X X X OF DF IF TF SFZF X AF X PF X CF
§2.1.1 执行部件
(2)专用寄存器组
SP BP DI SI
16位
SP 堆栈指针寄存器
访问堆栈段的栈顶单元。栈是一种先进后出的 数据结构,最后入栈的数据为栈顶数据,其单元 地址称为栈顶地址 入栈:“船高水涨” 出栈:“水落船低” SP→ 2000H 2019H SP→2019H 2019H 18H 17H 16H 15H
作业:P23
1-7 1-8 1-9 1-10 1-16

第2章Intel微处理器

第2章Intel微处理器

216=210*26=1024*64=64KB 220=210*210=1024B*1024B=1MB
2020年3月27日星期五
2
第2讲 Intel微处理器
2.1.1 8086/8088CPU的内部结构 从功能看,8086由两独立的工作部件构成:总线接口部 件BIU和执行部件EU,其结构图如下:
完成 指令 译码 执行 运算 功能
2020年3月27日星期五
3
完成从 存储器 或外设 取指令 读写数 据功能
第2讲 Intel微处理器
2.1.2 8086/8088CPU的寄存器结构 8086/8088CPU中的寄存器有13个16位寄存器和1个只用 了9位的标志寄存器,按用途可分为8个通用寄存器、2个控制 寄存器和4个段寄存器。
这是8086CPU 的重要资源是 今后编程常用 到的熟练掌握
2020年3月27日星期五
4
第2讲 Intel微处理器
1.通用寄存器
数据寄存器:AX BX CX DX 分高8位低8位寄存器



地址指针寄存器:SP BP 存放偏移地址


变址寄存器:SI DI 当前数据段存放偏移地址
2020年3月27日星期五
5
第2讲 Intel微处理器
2.指令指针寄存器 16位IP存放指令偏移地址,自动加1,顺序取指令
段寄存器使用:代码段存放运行程序,物理地址由段 基址CS和偏移地址IP构成;数据段存放数据,其偏移 地址通过多种方式形成;堆栈段存储保护数据;附加 数据段用于存放数据。
2020年3月27日星期五
8
第2讲 Intel微处理器
【例题2.2】某逻辑代码段的段地址是21ABH,该逻辑段

chapter2 Intel 80x86 系列微处理器简介

chapter2 Intel 80x86 系列微处理器简介
Intel Pentium Pro处理器是基于P6微结构的第一个处理器。P6处理器 系统随后 的成员是Intel Pentium II、Intel Pentium II Xeon(至强)、 Intel Celeron(赛扬)、Intel Pentium III 和Intel Pentium III Xeon( 至强)处理器。
18 18
第2章 IA-32结构微处理器
奔腾 II和奔腾 III
Intel Pentium II 处理器把 MMX 技术加至 P6 系列处理器,并具 有新的包装和若干硬件增强。第一级数据和指令 caches 每个扩展至 16 K 字节,支持二级 cache 的尺寸为 256 K 字节、512 K 字节和1 M 字节。
第2章 IA-32结构微处理器
Intel 80x86 系列微处理器简介 认识典型的CPU微处理器 ●了解80x86 系列微处理器。 ●了解典型的CPU芯片。 ●熟悉Intel系列微处理器。
1 1
第2章 IA-32结构微处理器
典型的CPU微处理器外观图 从1971年Intel公司推出的4位微处理器Intel4004以来,经 过30多年的发展,CPU已经从4位发展到目前正在使用的 64位。发展过程中一些典型的CPU芯片如图所示。
1985年10月Intel公司推出了32位微处理器Intel 80386。 1989年4月Intel公司推出了32位微处理器Intel 80486。 1993年3月Intel公司推出了32位微处理器Intel Pentium(也称 80586 )。 1995年11月推出32位微处理器Intel Pentium Pro(也称为80686)。 1997年1月Intel公司推出了32位微处理器Intel Pentium with MMX。 1997年5月Intel公司推出了32位微处理器Intel Pentium Ⅱ。

2第2章 Intel 80X86微处理器PPT课件

2第2章 Intel 80X86微处理器PPT课件
➢20位物理地址送往地址总线,总线控制逻辑发出存储 器读信号,按指定的地址从指令存储器中取出指令, 送到指令队列中等待执行。
13
2.1 8086/8088微处理器 2.1.1内部特性
2. 总线接口单元 BIU(Bus Interface Unit)
BIU的工作过程 –读/写操作数 ➢收到EU送来的偏移地址后,将数据段段地址和偏移 地址送往地址加法器,组成20位物理地址; ➢20位物理地址送往地址总线,BIU访问数据存储器或 I/O端口完成读/写操作。
21
2.1 8086/8088微处理器 2.1.1内部特性
3.寄存器结构
通用寄存器组:包括AX、BX、CX、DX ➢ 主要用来保存算术或逻辑运算的操作数及中间运算 结果。 ➢它们既可以作为一个16位的寄存器使用,也可以分别 作为两个8位的寄存器使用,分别是:AH、AL、BH、 BL、CH、CL、DH、DL。 ➢作为8位寄存器使用时只能用来存放数据,不能用来 存放地址。
BX
在间接寻址中作基址寄存器用 在XLAT指令中作基址寄存器用
CX 在串操作指令和LOOP指令中作计数器用
CL 用在移位/循环移位指令中作移位次数计数器
隐含性 不能隐含 隐含 隐含 隐含 隐含 隐含 不能隐含 隐含 隐含 不能隐含
23
2.1 8086/8088微处理器 2.1.1内部特性
3.寄存器结构
3
2.1 8086/8088微处理器
章节导航
2.1.1 8086/8088的内部特性 2.1.2 8086/8088的外部特性 2.1.3 8086/8088的系统配置 2.1.4 8086/8088的总线周期时序
4
2.1 8086/8088微处理器
概述

第2章微处理器(第3部分)

第2章微处理器(第3部分)

2.2.2 80386微处理器
2.2.2 80386微处理器
2.2.3 80486微处理器
2.3 Pentium系列微处理器
Pentium微处理器采用亚微米级的CMOS,实现
了0.8um技术,一方面使器件的尺寸进一步减小, 另一方面使芯片上集成的晶体管数达到310万个。 在Pentium微处理器的体系结构上,采用了许多过去 在大型机中才采用的技术,迎合了高性能微型机系 统需要,其主要体现在超标量流水线设计、双高速 缓存、分支预测、改善浮点运算等方面。
第2章 微处理器
2.2 80X86系列微处理器简介
2.2.1 80286微处理器
80286芯片内含13.5万个晶体管,内
部和外部数据总线都是16位,地址总线 为24位,可寻址224B即16MB内存。80286
片内具有存储器管理和保护机构,它有
实模式和保护模式两种工作方式。
2.2.1
80286微处理器
Pentium微处理器的内部结构
Pe
80386微处理器
80386是Intel公司推出的一种高性能32位微
处理器,80386内部和外部数据总线都是32位
的,地址总线为32位,可寻址4GB。它是对
8086~80286微处理器的彻底改进。其内部
结构由6个逻辑单元组成,可以按实模式、保
护模式以及虚拟8086三种模式对存储器进行
访问。

Intel微处理器原书第七版教学设计

Intel微处理器原书第七版教学设计

Intel微处理器原书第七版教学设计简介Intel微处理器原书第七版是一本关于微处理器的经典教材,在电子工程、计算机科学等领域广泛使用。

本文将根据该教材的内容,设计一份教学方案,以帮助学生更好地理解和掌握微处理器的知识。

教学目标本教学方案的目标是帮助学生:•理解微处理器的基本概念和工作原理;•掌握8086微处理器的指令系统、寄存器和内部结构;•能够编写简单的汇编语言程序并进行调试。

教学内容第1-2章:微处理器概述和8086微处理器的基本组成本部分内容主要介绍微处理器的概念和发展历史,以及8086微处理器的基本组成、寄存器等内容。

在此基础上,可以通过一些实例来说明微处理器的工作原理,并进行一些简单的编程练习。

第3章:指令系统指令系统是微处理器的核心内容,本章将详细介绍8086微处理器的指令集结构、指令格式、指令分类等。

在教学中可以使用一些案例来帮助学生更好地理解和掌握指令系统的基本知识,同时也要让学生逐步熟悉如何编写汇编语言程序。

第4章:8086微处理器的内部结构本章主要介绍8086微处理器的内部结构,包括如何访问内存、如何进行输入输出等。

在教学中要帮助学生了解如何利用8086微处理器进行简单的输入输出操作,并且让学生掌握如何使用调试工具来进行程序调试。

第5章:汇编语言程序设计本章是本教学方案的核心部分,将介绍如何编写和调试汇编语言程序。

学生可以通过编写一些简单的程序来逐步掌握汇编语言的语法和基本操作。

在教学中可以与学生一起编写一些小程序,并让学生独立设计一些简单的汇编语言程序,以提高他们的编程能力。

教学方法•讲授:通过课堂讲授的方式,对教材内容进行详细的讲解。

•实验:通过实验操作,让学生深入理解和掌握课堂上所学的知识。

同时,还可以通过小组讨论、课外阅读等方式来帮助学生更好地理解和巩固所学的知识。

教学评估本教学方案的评估主要采用以下方式:•作业及测试:通过布置作业和测试来检验学生对所学知识的掌握程度。

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

第二章2、80286可寻址的寄存器为8位和16位宽。

例如:AL为8位,AX为16位。

两种寄存器都可以用于各种寻址。

8、如果带符号数FFH与01H相加,会溢出吗?答:不会。

FFH = -1;-1与1相加的结果为0。

14、为处理器工作在实模式下,对于下列CS:IP组合,找出要执行下一条指令的存储器地址。

(a)CS = 1000H和IP = 2000H(b)CS = 2000H和IP = 1000H(c)CS = 2300H和IP = 1A00H(d)CS = 1A00H和IP = B000H(e)CS = 3456H和IP = ABCDH答:利用“地址= CS*10H + IP”,可以得出(a)12000H;(b)21000H;(c)24A00H;(d)25000H;(e)3F12DH20、80286工作在实模式下下,给出下列寄存器组合所寻址的存储单元地址。

(a)DS = 1000H,DI = 2000H(b)DS = 2000H,SI = 1002H(c)SS = 2300H,BP = 3200H(d)DS = A000H,BX = 1000H(e)SS = 2900H,SP = 3A00H答:本题考查对默认寄存器组合的认识,(a)DS:DI为数据地址,结果为12000H;(b)DS:SI为数据地址,结果为21002H;(c)SS:SP为堆栈地址,结果为26200H;(d)DS:BX为数据地址,结果为A100H;(d)SS:SP为堆栈地址,结果为32A00H。

28、一个Pentium 4微处理器的描述符中含有基地址00280000H,界限00010H,并且G = 1,由这个描述符寻址的起始地址和结束地址是什么?答:本题考查对保护模式寻址方式的理解。

保护模式下,段寄存器中包含选择子,由选择子从描述符表中选择一个描述符,描述符中包含有段的基地址和界限等信息。

描述符中的G位表示粒度,G = 1,则该地址寻址的单位为4KB,所以这里的起始地址是00280000H,结束地址= 起始地址+ (界限+1)* 寻址单位- 1,结果为290FFFH。

44、如果微处理器将线性地址00200000H送到具有分页机制的系统,哪个页目录项被访问?哪个页表项被访问?答:本题考查内存的分页机制。

线性地址通过页目录和页表的转化将成为物理地址,具体而言线性地址的22~31位访问对应的页目录项,12~21位访问对应的页表项。

这里给出的线性地址将访问页目录第0H项和页表第200H项。

第三章6、指令MOV BL, CX存在什么错误?答:BL寄存器和CX寄存器的长度不匹配。

20、符号[]指示什么?答:指示间接寻址。

22、指令MOV [BX], [DI]的错误是什么?答:存储器到存储器之间的数据传输时非法的,处理MOVS指令。

26、说明MOV BX, DATA 和MOV BX, OFFSET DATA指令之间的区别。

答:MOV BX, DATA将DATA所指向内存的内容复制到BX中,而MOV BX, OFFSET DATA将DATA在内存中的偏移地址复制到BX。

30、给定DS = 1100H,BX = 0200H,LIST = 0250H 和SI = 0500H。

假定按实模式操作,确定下面每条指令寻址的存储器地址。

(a)MOV LIST [SI], EDX(b)MOV CL, LIST[BX + SI](c)MOV CH, [BX +SI]答:本题主要考察各种寻址方式。

(a)由LIST地址加SI的地址,然后和DS的地址组合成寻址的地址。

结果为11750H。

(b)与(a)类似,结果为11950H。

(c)与(a)类似,结果为11700H。

34、给出有5个字段的字数据结构,字段名是F1, F2, F3, F4和F5,结构名是FIELDS。

答:FIELDS STRUCF1 WORD ?F2 WORD ?F3 WORD ?F4 WORD ?F5 WORD ?FIELDS ENDS第四章10、如果MOV SI, [BX + 2]指令出现在程序中,与它等效的机器语言是什么?答:本题考查Intel机器语言与汇编语言的转换,这里默认使用16位指令系统。

通过查询课本的附录B,我们可以知道“MOV reg, mem”的机器语言格式为“100010dw oorrrmmm disp”,而这里是从mem到reg传送数据,所以d = 1;SI 为16位,所以w = 1;寻址方式为寄存器相对寻址,包含8位的偏移量,所以oo = 01;查表可知rrr = 110,mmm = 111;disp(偏移量)= 00000010B;综上,可得“MOV SI, [BX + 2]”的机器码为:“10001011 01110111 00000010B”= “8B 77 02H”。

12、MOV CS, AX指令会带来什么错误?答:CS是指令段寄存器,仅仅改变该寄存器的值将导致程序的下一条指令成为不可知的指令,这在多数情况下将导致系统的混乱。

24、LEA SI, NUMB指令和MOV SI, OFFSET NUMB指令直接的区别是什么?答:这里考查LEA指令和OFFSET指令的区别。

题目中的两条指令都将NUMB的偏移量存入SI寄存器,但是执行LEA指令需要更多的时钟周期,因为LEA指令是在微处理器执行时才计算NUMB的偏移量的,而OFFSET是在执行该指令前就由汇编程序计算好了NUMB的偏移量。

32、说明LODSB指令的操作。

答:将DS:[SI]所指向的存储器中的字节存入AL寄存器中。

36、设计指令序列,将12个字节的数据由SOURCE寻址的存储区域复制到由DEST 寻址的存储区域内。

答:MOVS指令可以实现从存储器到存储器的数据转移,所以这里主要采用该条指令实现。

MOV SI, OFFSET SOURCEMOV DI, OFFSET DESTMOV CX, 12REP MOVSB60、设计近过程,将AL的内容存入数据段中用DI寄存器寻址的4个连续存储单元中。

答:STOSB指令可以将AL寄存器的内容存储到由ES: [DI]寻址的存储器中。

题目要求将AL的内容存入数据段中用DI寄存器寻址的4个连续存储单元中,所以要将DS的值赋给ES,可以通过POSH 和POP指令实现。

近过程的伪指令为PROC NEAR。

STORE PROC NEARPUSH DSPOP ESMOV CX, 4REP STOSBSTORE ENDP第五章10、INC [BX]指令的错误是什么?答:对于只有一个操作数的算术或逻辑运算指令,如果操作数采用寄存器间接寻址方式,则必须由BYTE/WORD/DWROD PTR来指定该内存单元的大小。

12、如果DL = 0F3H,BH = 72H,列出从DL内容减去BH内容以后的差,并且给出标志寄存器各位的内容。

答:减法运算包括带符号和不带符号两种,这两种运算对寄存器的操作完全相同,只是无符号减法不考虑符号位标志寄存器。

采用双符号位计算法,可知结果为DL = 81 H,无溢出O = 0,无进位C = 0,有半进位A = 1,结果为负S = 1,不为零Z = 0。

16、说欧盟SUB和CMP指令之间的区别。

答:这两条指令都通过操作数的减法而改变标志寄存器,不同之处在于CMP不改变被减数,而SUB改变被减数。

36、设计短指令序列,将DH中的最左3位清0,而不改变DH中其它位,结果存入BH中。

答:通过AND指令可以实现对部分位的屏蔽。

MOV BH, DHAND BH, 00011111B40、设计短指令序列,把AX中的最右4位置为1,将AX中的最左3位清0,并且把AX中的7、8、9位取反。

答:XOR指令可以实现对个别位的取反。

OR AX, 000FHAND AX, 1FFFHXOR AX, 0000 0011 1000 0000B44、选择正确的指令实现以下的任务:(a)DI右移3位,并把零移入最高位(b)AL中所有位左移1位,并使0移入最低位(c)AL循环左移3位(d)EDX带进位位循环右移1位(e)DH寄存器右移1位,并且使结果的符号位与原数符号相同答:逻辑移位指令不考虑符号位,算术移位指令需要考虑符号位。

带进位的循环移位指令顾名思义,不带进位的循环移位指令只是进位不会移入寄存器中,但移位操作仍然影响进位位。

(a)SHR DI, 3(b)SHL AL, 1(c)ROL AL, 3(d)RCR EDX, 1(e)SAR DH, 1第六章12、比较JMP [DI] 与JMP FAR PTR[DI]指令的操作。

答:两条指令都是采用间接寻址方式的转移指令,系统默认为16位位移量,即近转移。

如果程序中出现JMP FAR PTR[SI]指令,或者用DD伪指令定义TABLE数据的JMP TABLE[SI]指令,则微处理器认为转移表中包含32位的双字地址(IP和CS)。

所以,题目中第一条指令将跳转到由CS作为段地址和DS:[DI]的内容作为偏移量的新地址;第二条指令将跳转到由DS:[DI+2]的内容作为段地址和DS:[DI]的内容作为偏移量的新地址。

22、Pentium 4的LOOPD指令使ECX寄存器减1,并且为了决定是否发生转移测试它是否为0。

24、设计指令序列,吧00H存储到附加段起始地址为DATAZ的150H个字节的存储区中。

必须用LOOP指令帮助实现这个任务。

答:通过将CX赋值为150,采用LOOP指令可以实现题目要求的功能。

MOV CX, 150HMOV DI, OFFSET DATAZMOV AL, 00HCLDL1: STOSBLOOP L138、写一个近过程,求CX寄存器内容的三次方,这个过程除了CX寄存器以外不影响任何其他的寄存器。

答:在PROC伪指令后加上USES伪指令可以使其他寄存器不受影响。

CUBE PROC NEAR USES AX DXMOV AX, CXMUL CXMUL CXMOV CX, AXRETCUBE ENDP44、0号向量中断的用途是什么?答:通过查表可知0号向量用来处理除法错误,即除法运算中除数为0的情况。

50、什么指令控制INTR引脚的功能?答:STI指令时能INTR;CLI指令禁止INTR。

第七章2、在内嵌汇编程序中可以用伪指令DB定义字节吗?答:不可以。

内嵌汇编中的变量都是由C/C++ 语言定义的,而C/C++语言本身无法识别DB伪指令。

4、在汇编语言(内嵌汇编程序或链接模块)中,哪些寄存器不需要保留就可以使用?答:由于Microsoft C/C++没有使用AX、BX、CX、DX和ES寄存器,所以在汇编和C/C++混合编程中不需要保留。

如果使用80386或更高的处理器作为程序的基础,则EAX、EBX、ECX、EDX和ES寄存器不需要保留。

相关文档
最新文档