第2章 Intel 80x86汇编语言编程结构.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第2章 Intel 80x86汇编语言编程结构.ppt》由会员分享,可在线阅读,更多相关《第2章 Intel 80x86汇编语言编程结构.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章 Intel 80 x86汇编语言编程结构汇编语言编程结构 主讲:n n2.1 Intel 8086 CPU的汇编语言编程结构的汇编语言编程结构n n2.2 Intel的的32位位CPU汇编语言编程结构汇编语言编程结构2.1 Intel 8086 CPU的汇编语言编程结构的汇编语言编程结构 Intel 8086/8088 CPUIntel 8086/8088 CPU是是是是Intel Intel 公司于上公司于上公司于上公司于上个世纪七十年代末先后推出的两种个世纪七十年代末先后推出的两种个世纪七十年代末先后推出的两种个世纪七十年代末先后推出的两种1616位的微处理器,位的微处理器,位
2、的微处理器,位的微处理器,它们被它们被它们被它们被IBMIBM公司选择作为流行于世界各地的公司选择作为流行于世界各地的公司选择作为流行于世界各地的公司选择作为流行于世界各地的1616位微位微位微位微型计算机型计算机型计算机型计算机IBM-PCIBM-PC机和机和机和机和IBM-PC/XTIBM-PC/XT机的机的机的机的CPUCPU,同,同,同,同时也是世界各国时也是世界各国时也是世界各国时也是世界各国1616位兼容机的主流位兼容机的主流位兼容机的主流位兼容机的主流CPUCPU。Intel 8086/8088 CPUIntel 8086/8088 CPU的设计思想领先,指的设计思想领先,指的设
3、计思想领先,指的设计思想领先,指令系统丰富,寻址方式众多,是令系统丰富,寻址方式众多,是令系统丰富,寻址方式众多,是令系统丰富,寻址方式众多,是Intel Intel 后续处理器乃后续处理器乃后续处理器乃后续处理器乃至至至至PentiumPentium处理器的鼻祖,因而,基于处理器的鼻祖,因而,基于处理器的鼻祖,因而,基于处理器的鼻祖,因而,基于Intel Intel 8086/8088 CPU8086/8088 CPU的的的的1616位微型计算机的影响极其位微型计算机的影响极其位微型计算机的影响极其位微型计算机的影响极其深远,今天的深远,今天的深远,今天的深远,今天的3232位机都尽量保持与
4、基于位机都尽量保持与基于位机都尽量保持与基于位机都尽量保持与基于Intel Intel 8086/8088 CPU8086/8088 CPU的的的的1616位计算机的兼容。位计算机的兼容。位计算机的兼容。位计算机的兼容。n n2.1.1 8086 CPU结构概述 n n2.1.2 8086 CPU寄存器结构n n2.1.3 8086 CPU内存组织 n n2.1.4 8086 CPU的I/O组织 n n2.1.1 8086 CPU结构概述 微型计算机中包含运算器和控制器电路的大微型计算机中包含运算器和控制器电路的大规模集成电路,称为规模集成电路,称为“微处理器微处理器”,又称,又称“中央中央处
5、理器(处理器(CPU)”,其职能是执行算术,其职能是执行算术/逻辑运逻辑运算,并负责控制整个计算机系统,使之能自动协算,并负责控制整个计算机系统,使之能自动协调地完成各种操作。调地完成各种操作。1 180868086的基本性能指标的基本性能指标的基本性能指标的基本性能指标n n1616位微处理器;位微处理器;位微处理器;位微处理器;n n采用高速运算性能的采用高速运算性能的采用高速运算性能的采用高速运算性能的HMOSHMOS工艺制造,芯片上集成工艺制造,芯片上集成工艺制造,芯片上集成工艺制造,芯片上集成了了了了2.92.9万只晶体管;万只晶体管;万只晶体管;万只晶体管;n n使用单一的使用单一
6、的使用单一的使用单一的+5V+5V电源,电源,电源,电源,4040条引脚双列直插式封装;条引脚双列直插式封装;条引脚双列直插式封装;条引脚双列直插式封装;n n时钟频率为时钟频率为时钟频率为时钟频率为5MHz5MHz10MHz10MHz,基本指令执行时间为,基本指令执行时间为,基本指令执行时间为,基本指令执行时间为0.3ms0.3ms0.6ms0.6msn n1616根数据线和根数据线和根数据线和根数据线和2020根地址线,可寻址的地址空间达根地址线,可寻址的地址空间达根地址线,可寻址的地址空间达根地址线,可寻址的地址空间达1MB1MBn n80868086可以和浮点运算器、可以和浮点运算器、
7、可以和浮点运算器、可以和浮点运算器、I/OI/O处理器或其他处理器处理器或其他处理器处理器或其他处理器处理器或其他处理器组成多处理器系统,从而极大地提高了系统的数据组成多处理器系统,从而极大地提高了系统的数据组成多处理器系统,从而极大地提高了系统的数据组成多处理器系统,从而极大地提高了系统的数据吞吐能力和数据处理能力。吞吐能力和数据处理能力。吞吐能力和数据处理能力。吞吐能力和数据处理能力。n n28086微处理器内部结构组成微处理器内部结构组成 从功能上看,可以分为两大部分,结构图如下:从功能上看,可以分为两大部分,结构图如下:从功能上看,可以分为两大部分,结构图如下:从功能上看,可以分为两大
8、部分,结构图如下:(1 1)总线接口单元)总线接口单元)总线接口单元)总线接口单元BIU(Bus Interface Unit)BIU(Bus Interface Unit)包括总线控制逻辑包括总线控制逻辑包括总线控制逻辑包括总线控制逻辑(输入输入输入输入/输出控制电路输出控制电路输出控制电路输出控制电路)和指令队列和指令队列和指令队列和指令队列缓冲器两部分。缓冲器两部分。缓冲器两部分。缓冲器两部分。总线控制逻辑用于分时传递地址信息或数据信息;指总线控制逻辑用于分时传递地址信息或数据信息;指总线控制逻辑用于分时传递地址信息或数据信息;指总线控制逻辑用于分时传递地址信息或数据信息;指令队列缓冲器
9、:用于暂存指令、取指令和执行指令可令队列缓冲器:用于暂存指令、取指令和执行指令可令队列缓冲器:用于暂存指令、取指令和执行指令可令队列缓冲器:用于暂存指令、取指令和执行指令可重叠操作重叠操作重叠操作重叠操作(2 2)执行单元)执行单元)执行单元)执行单元EU(Execution Unit)EU(Execution Unit)用于从指令队列中取出指令;对指令进行译码,发出用于从指令队列中取出指令;对指令进行译码,发出用于从指令队列中取出指令;对指令进行译码,发出用于从指令队列中取出指令;对指令进行译码,发出相应的控制信号;接收由总线接口送来的数据或发送相应的控制信号;接收由总线接口送来的数据或发送
10、相应的控制信号;接收由总线接口送来的数据或发送相应的控制信号;接收由总线接口送来的数据或发送数据至接口。数据至接口。数据至接口。数据至接口。n n2.1.2 8086 CPU寄存器结构寄存器结构 8086微处理器内部共有微处理器内部共有14个个16位可编程寄位可编程寄存器,按大至的功能分为存器,按大至的功能分为4组,即数据寄存器、组,即数据寄存器、指针及变址寄存器、段寄存器、控制寄存器四组指针及变址寄存器、段寄存器、控制寄存器四组 n n1.数据寄存器数据寄存器 这组寄存器包括这组寄存器包括这组寄存器包括这组寄存器包括AXAX、BXBX、CXCX、DXDX四个寄存器,四个寄存器,四个寄存器,四
11、个寄存器,它们都可以以字它们都可以以字它们都可以以字它们都可以以字(16(16位位位位)的形式访问,也可以以字节的形式访问,也可以以字节的形式访问,也可以以字节的形式访问,也可以以字节(8(8位位位位)的形式访问。的形式访问。的形式访问。的形式访问。AXAX、BXBX、CXCX、DXDX这四个寄存器除这四个寄存器除这四个寄存器除这四个寄存器除了作为一般的数据寄存器使用以外,还有各自的专用了作为一般的数据寄存器使用以外,还有各自的专用了作为一般的数据寄存器使用以外,还有各自的专用了作为一般的数据寄存器使用以外,还有各自的专用场合,这些专用场合只有该寄存器可以使用,其他的场合,这些专用场合只有该寄
12、存器可以使用,其他的场合,这些专用场合只有该寄存器可以使用,其他的场合,这些专用场合只有该寄存器可以使用,其他的存储器件无法代替。存储器件无法代替。存储器件无法代替。存储器件无法代替。AXAX(accumulatoraccumulator):是乘除法运算和输入):是乘除法运算和输入):是乘除法运算和输入):是乘除法运算和输入/输出时输出时输出时输出时使用的专用寄存器。使用的专用寄存器。使用的专用寄存器。使用的专用寄存器。BXBX(basebase):用来存放存储器的地址或地址的一部分。):用来存放存储器的地址或地址的一部分。):用来存放存储器的地址或地址的一部分。):用来存放存储器的地址或地址
13、的一部分。CXCX(countcount):在循环):在循环):在循环):在循环(LOOP)(LOOP)和串处理指令中用作隐和串处理指令中用作隐和串处理指令中用作隐和串处理指令中用作隐含的计数器。含的计数器。含的计数器。含的计数器。DXDX(datadata):在乘除法运算和输入):在乘除法运算和输入):在乘除法运算和输入):在乘除法运算和输入/输出时使用的专输出时使用的专输出时使用的专输出时使用的专用寄存器。用寄存器。用寄存器。用寄存器。n n2.指针及变址寄存器指针及变址寄存器 这组寄存器包括这组寄存器包括这组寄存器包括这组寄存器包括SPSP、BPBP、SISI、DIDI四个四个四个四个1
14、616位寄存器。它位寄存器。它位寄存器。它位寄存器。它们可以像数据寄存器一样在运算过程中存放操作数,但它们可以像数据寄存器一样在运算过程中存放操作数,但它们可以像数据寄存器一样在运算过程中存放操作数,但它们可以像数据寄存器一样在运算过程中存放操作数,但它们只能以字(们只能以字(们只能以字(们只能以字(1616位)为单位使用。此外,在段内寻址时位)为单位使用。此外,在段内寻址时位)为单位使用。此外,在段内寻址时位)为单位使用。此外,在段内寻址时用它们来提供偏移地址(又称指针)。用它们来提供偏移地址(又称指针)。用它们来提供偏移地址(又称指针)。用它们来提供偏移地址(又称指针)。n nSPSP(s
15、tack pointerstack pointer):称为堆栈指针寄存器。用来指):称为堆栈指针寄存器。用来指):称为堆栈指针寄存器。用来指):称为堆栈指针寄存器。用来指示栈顶的偏移地址,示栈顶的偏移地址,示栈顶的偏移地址,示栈顶的偏移地址,n nBPBP(base pointerbase pointer):称为基址指针寄存器。用作堆):称为基址指针寄存器。用作堆):称为基址指针寄存器。用作堆):称为基址指针寄存器。用作堆栈区中的一个基地址以便访问堆栈中的其他信息。栈区中的一个基地址以便访问堆栈中的其他信息。栈区中的一个基地址以便访问堆栈中的其他信息。栈区中的一个基地址以便访问堆栈中的其他信息
16、。n nSISI(source indexsource index):源变址寄存器。当与):源变址寄存器。当与):源变址寄存器。当与):源变址寄存器。当与DSDS联用时,联用时,联用时,联用时,用来确定数据段中某一存储单元的地址,在串处理指令中,用来确定数据段中某一存储单元的地址,在串处理指令中,用来确定数据段中某一存储单元的地址,在串处理指令中,用来确定数据段中某一存储单元的地址,在串处理指令中,SISI作为隐含的源变址寄存器,与作为隐含的源变址寄存器,与作为隐含的源变址寄存器,与作为隐含的源变址寄存器,与DSDS联用达到在数据段寻联用达到在数据段寻联用达到在数据段寻联用达到在数据段寻址的目
17、的。址的目的。址的目的。址的目的。n nDIDI(destdest index index):目的变址寄存器。在串处理指令中,):目的变址寄存器。在串处理指令中,):目的变址寄存器。在串处理指令中,):目的变址寄存器。在串处理指令中,DIDI作为隐含的目的变址寄存器并作为隐含的目的变址寄存器并作为隐含的目的变址寄存器并作为隐含的目的变址寄存器并ESES联用在附加段中寻址,联用在附加段中寻址,联用在附加段中寻址,联用在附加段中寻址,其它功能和使用方法与其它功能和使用方法与其它功能和使用方法与其它功能和使用方法与SISI基本相同。基本相同。基本相同。基本相同。n n3.段寄存器段寄存器 这组寄存器
18、包括这组寄存器包括这组寄存器包括这组寄存器包括CSCS、DSDS、ESES、SSSS四个四个四个四个1616位寄存位寄存位寄存位寄存器。它们是器。它们是器。它们是器。它们是Intel 8086/8088Intel 8086/8088的四个段寄存器。的四个段寄存器。的四个段寄存器。的四个段寄存器。为了寻址为了寻址为了寻址为了寻址1MB1MB内存,内存,内存,内存,Intel 8086/8088Intel 8086/8088将内存分将内存分将内存分将内存分成若干个逻辑段。每个段长成若干个逻辑段。每个段长成若干个逻辑段。每个段长成若干个逻辑段。每个段长64KB64KB。这四个段寄存器。这四个段寄存器
19、。这四个段寄存器。这四个段寄存器存放各段的段地址(段基址)。存放各段的段地址(段基址)。存放各段的段地址(段基址)。存放各段的段地址(段基址)。n nIntel 8086/8088Intel 8086/8088中的四个段寄存器分别称为中的四个段寄存器分别称为中的四个段寄存器分别称为中的四个段寄存器分别称为 代码段代码段代码段代码段CS(CodeCS(Code Segment)Segment)寄存器、寄存器、寄存器、寄存器、数据段数据段数据段数据段DS(DataDS(Data Segment)Segment)寄存器、寄存器、寄存器、寄存器、堆栈段堆栈段堆栈段堆栈段SS(StackSS(Stack
20、 Segment)Segment)寄存器和附加段寄存器和附加段寄存器和附加段寄存器和附加段ES(ExtraES(Extra Segment)Segment)寄存器。寄存器。寄存器。寄存器。n nCSCS段寄存器给出当前代码段的段地址。段寄存器给出当前代码段的段地址。段寄存器给出当前代码段的段地址。段寄存器给出当前代码段的段地址。DSDS段寄存器段寄存器段寄存器段寄存器给出当前数据段的段地址。给出当前数据段的段地址。给出当前数据段的段地址。给出当前数据段的段地址。SSSS段寄存器给出当前堆段寄存器给出当前堆段寄存器给出当前堆段寄存器给出当前堆栈段的段地址。栈段的段地址。栈段的段地址。栈段的段地址
21、。ESES段寄存器给出当前使用的附加段段寄存器给出当前使用的附加段段寄存器给出当前使用的附加段段寄存器给出当前使用的附加段的段地址。的段地址。的段地址。的段地址。4.4.控制寄存器控制寄存器控制寄存器控制寄存器 这组寄存器包括这组寄存器包括这组寄存器包括这组寄存器包括IPIP(instruction pointerinstruction pointer)和)和)和)和FLAGSFLAGS两个两个两个两个1616位寄存器。位寄存器。位寄存器。位寄存器。IPIP为指令指针寄存器,用来为指令指针寄存器,用来为指令指针寄存器,用来为指令指针寄存器,用来存放代码段中的偏移地址,它与存放代码段中的偏移地址
22、,它与存放代码段中的偏移地址,它与存放代码段中的偏移地址,它与CSCS寄存器联用确定下一寄存器联用确定下一寄存器联用确定下一寄存器联用确定下一条指令的物理地址。条指令的物理地址。条指令的物理地址。条指令的物理地址。FLAGSFLAGS为标志寄存器,又称程序状为标志寄存器,又称程序状为标志寄存器,又称程序状为标志寄存器,又称程序状态字寄存器态字寄存器态字寄存器态字寄存器PSWPSW(program status wordprogram status word),是一),是一),是一),是一个个个个1616位的寄存器,位的寄存器,位的寄存器,位的寄存器,Intel 8086/8088Intel 8
23、086/8088使用其中的使用其中的使用其中的使用其中的9 9位,位,位,位,即即即即6 6位条件码标志位条件码标志位条件码标志位条件码标志(flag)(flag)和和和和3 3位控制标志,具体情况见下位控制标志,具体情况见下位控制标志,具体情况见下位控制标志,具体情况见下表所示:表所示:表所示:表所示:1515141413131212111110109 98 87 76 65 54 43 32 21 10 0OFOFDFDFIFIFTFTFSFSFZFZFAFAFPFPFCFCFFLAGSFLAGS寄存器的各位情况寄存器的各位情况寄存器的各位情况寄存器的各位情况其中,标示其中,标示其中,标示
24、其中,标示的那一位为无用位,该位为的那一位为无用位,该位为的那一位为无用位,该位为的那一位为无用位,该位为0 0或或或或1 1没有任何没有任何没有任何没有任何实际意义。条件码标志用来记录程序中运行结果的状态实际意义。条件码标志用来记录程序中运行结果的状态实际意义。条件码标志用来记录程序中运行结果的状态实际意义。条件码标志用来记录程序中运行结果的状态信息,控制标志用来控制信息,控制标志用来控制信息,控制标志用来控制信息,控制标志用来控制CPUCPU的工作状态。的工作状态。的工作状态。的工作状态。n n(1 1)条件码标志)条件码标志)条件码标志)条件码标志 OF(OverflowOF(Overf
25、low Flag)Flag)溢出标志溢出标志溢出标志溢出标志 溢出即把参加运算的两个数当成有符号数时,当溢出即把参加运算的两个数当成有符号数时,当溢出即把参加运算的两个数当成有符号数时,当溢出即把参加运算的两个数当成有符号数时,当运算结果超过了补码的表数范围,从而导致结果运算结果超过了补码的表数范围,从而导致结果运算结果超过了补码的表数范围,从而导致结果运算结果超过了补码的表数范围,从而导致结果出错,这种情况称为溢出。出错,这种情况称为溢出。出错,这种情况称为溢出。出错,这种情况称为溢出。当溢出时,当溢出时,当溢出时,当溢出时,CPUCPU自动自动自动自动使使使使OF=1OF=1否则否则否则否
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 Intel 80x86汇编语言编程结构 80 x86 汇编语言 编程 结构
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内