欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第2章 Intel 80x86汇编语言编程结构.ppt

    • 资源ID:68702108       资源大小:410.50KB        全文页数:36页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第2章 Intel 80x86汇编语言编程结构.ppt

    第第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位的微处理器,位的微处理器,位的微处理器,位的微处理器,它们被它们被它们被它们被IBMIBM公司选择作为流行于世界各地的公司选择作为流行于世界各地的公司选择作为流行于世界各地的公司选择作为流行于世界各地的1616位微位微位微位微型计算机型计算机型计算机型计算机IBM-PCIBM-PC机和机和机和机和IBM-PC/XTIBM-PC/XT机的机的机的机的CPUCPU,同,同,同,同时也是世界各国时也是世界各国时也是世界各国时也是世界各国1616位兼容机的主流位兼容机的主流位兼容机的主流位兼容机的主流CPUCPU。Intel 8086/8088 CPUIntel 8086/8088 CPU的设计思想领先,指的设计思想领先,指的设计思想领先,指的设计思想领先,指令系统丰富,寻址方式众多,是令系统丰富,寻址方式众多,是令系统丰富,寻址方式众多,是令系统丰富,寻址方式众多,是Intel Intel 后续处理器乃后续处理器乃后续处理器乃后续处理器乃至至至至PentiumPentium处理器的鼻祖,因而,基于处理器的鼻祖,因而,基于处理器的鼻祖,因而,基于处理器的鼻祖,因而,基于Intel Intel 8086/8088 CPU8086/8088 CPU的的的的1616位微型计算机的影响极其位微型计算机的影响极其位微型计算机的影响极其位微型计算机的影响极其深远,今天的深远,今天的深远,今天的深远,今天的3232位机都尽量保持与基于位机都尽量保持与基于位机都尽量保持与基于位机都尽量保持与基于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结构概述 微型计算机中包含运算器和控制器电路的大微型计算机中包含运算器和控制器电路的大规模集成电路,称为规模集成电路,称为“微处理器微处理器”,又称,又称“中央中央处理器(处理器(CPU)”,其职能是执行算术,其职能是执行算术/逻辑运逻辑运算,并负责控制整个计算机系统,使之能自动协算,并负责控制整个计算机系统,使之能自动协调地完成各种操作。调地完成各种操作。1 180868086的基本性能指标的基本性能指标的基本性能指标的基本性能指标n n1616位微处理器;位微处理器;位微处理器;位微处理器;n n采用高速运算性能的采用高速运算性能的采用高速运算性能的采用高速运算性能的HMOSHMOS工艺制造,芯片上集成工艺制造,芯片上集成工艺制造,芯片上集成工艺制造,芯片上集成了了了了2.92.9万只晶体管;万只晶体管;万只晶体管;万只晶体管;n n使用单一的使用单一的使用单一的使用单一的+5V+5V电源,电源,电源,电源,4040条引脚双列直插式封装;条引脚双列直插式封装;条引脚双列直插式封装;条引脚双列直插式封装;n n时钟频率为时钟频率为时钟频率为时钟频率为5MHz5MHz10MHz10MHz,基本指令执行时间为,基本指令执行时间为,基本指令执行时间为,基本指令执行时间为0.3ms0.3ms0.6ms0.6msn n1616根数据线和根数据线和根数据线和根数据线和2020根地址线,可寻址的地址空间达根地址线,可寻址的地址空间达根地址线,可寻址的地址空间达根地址线,可寻址的地址空间达1MB1MBn n80868086可以和浮点运算器、可以和浮点运算器、可以和浮点运算器、可以和浮点运算器、I/OI/O处理器或其他处理器处理器或其他处理器处理器或其他处理器处理器或其他处理器组成多处理器系统,从而极大地提高了系统的数据组成多处理器系统,从而极大地提高了系统的数据组成多处理器系统,从而极大地提高了系统的数据组成多处理器系统,从而极大地提高了系统的数据吞吐能力和数据处理能力。吞吐能力和数据处理能力。吞吐能力和数据处理能力。吞吐能力和数据处理能力。n n28086微处理器内部结构组成微处理器内部结构组成 从功能上看,可以分为两大部分,结构图如下:从功能上看,可以分为两大部分,结构图如下:从功能上看,可以分为两大部分,结构图如下:从功能上看,可以分为两大部分,结构图如下:(1 1)总线接口单元)总线接口单元)总线接口单元)总线接口单元BIU(Bus Interface Unit)BIU(Bus Interface Unit)包括总线控制逻辑包括总线控制逻辑包括总线控制逻辑包括总线控制逻辑(输入输入输入输入/输出控制电路输出控制电路输出控制电路输出控制电路)和指令队列和指令队列和指令队列和指令队列缓冲器两部分。缓冲器两部分。缓冲器两部分。缓冲器两部分。总线控制逻辑用于分时传递地址信息或数据信息;指总线控制逻辑用于分时传递地址信息或数据信息;指总线控制逻辑用于分时传递地址信息或数据信息;指总线控制逻辑用于分时传递地址信息或数据信息;指令队列缓冲器:用于暂存指令、取指令和执行指令可令队列缓冲器:用于暂存指令、取指令和执行指令可令队列缓冲器:用于暂存指令、取指令和执行指令可令队列缓冲器:用于暂存指令、取指令和执行指令可重叠操作重叠操作重叠操作重叠操作(2 2)执行单元)执行单元)执行单元)执行单元EU(Execution Unit)EU(Execution Unit)用于从指令队列中取出指令;对指令进行译码,发出用于从指令队列中取出指令;对指令进行译码,发出用于从指令队列中取出指令;对指令进行译码,发出用于从指令队列中取出指令;对指令进行译码,发出相应的控制信号;接收由总线接口送来的数据或发送相应的控制信号;接收由总线接口送来的数据或发送相应的控制信号;接收由总线接口送来的数据或发送相应的控制信号;接收由总线接口送来的数据或发送数据至接口。数据至接口。数据至接口。数据至接口。n n2.1.2 8086 CPU寄存器结构寄存器结构 8086微处理器内部共有微处理器内部共有14个个16位可编程寄位可编程寄存器,按大至的功能分为存器,按大至的功能分为4组,即数据寄存器、组,即数据寄存器、指针及变址寄存器、段寄存器、控制寄存器四组指针及变址寄存器、段寄存器、控制寄存器四组 n n1.数据寄存器数据寄存器 这组寄存器包括这组寄存器包括这组寄存器包括这组寄存器包括AXAX、BXBX、CXCX、DXDX四个寄存器,四个寄存器,四个寄存器,四个寄存器,它们都可以以字它们都可以以字它们都可以以字它们都可以以字(16(16位位位位)的形式访问,也可以以字节的形式访问,也可以以字节的形式访问,也可以以字节的形式访问,也可以以字节(8(8位位位位)的形式访问。的形式访问。的形式访问。的形式访问。AXAX、BXBX、CXCX、DXDX这四个寄存器除这四个寄存器除这四个寄存器除这四个寄存器除了作为一般的数据寄存器使用以外,还有各自的专用了作为一般的数据寄存器使用以外,还有各自的专用了作为一般的数据寄存器使用以外,还有各自的专用了作为一般的数据寄存器使用以外,还有各自的专用场合,这些专用场合只有该寄存器可以使用,其他的场合,这些专用场合只有该寄存器可以使用,其他的场合,这些专用场合只有该寄存器可以使用,其他的场合,这些专用场合只有该寄存器可以使用,其他的存储器件无法代替。存储器件无法代替。存储器件无法代替。存储器件无法代替。AXAX(accumulatoraccumulator):是乘除法运算和输入):是乘除法运算和输入):是乘除法运算和输入):是乘除法运算和输入/输出时输出时输出时输出时使用的专用寄存器。使用的专用寄存器。使用的专用寄存器。使用的专用寄存器。BXBX(basebase):用来存放存储器的地址或地址的一部分。):用来存放存储器的地址或地址的一部分。):用来存放存储器的地址或地址的一部分。):用来存放存储器的地址或地址的一部分。CXCX(countcount):在循环):在循环):在循环):在循环(LOOP)(LOOP)和串处理指令中用作隐和串处理指令中用作隐和串处理指令中用作隐和串处理指令中用作隐含的计数器。含的计数器。含的计数器。含的计数器。DXDX(datadata):在乘除法运算和输入):在乘除法运算和输入):在乘除法运算和输入):在乘除法运算和输入/输出时使用的专输出时使用的专输出时使用的专输出时使用的专用寄存器。用寄存器。用寄存器。用寄存器。n n2.指针及变址寄存器指针及变址寄存器 这组寄存器包括这组寄存器包括这组寄存器包括这组寄存器包括SPSP、BPBP、SISI、DIDI四个四个四个四个1616位寄存器。它位寄存器。它位寄存器。它位寄存器。它们可以像数据寄存器一样在运算过程中存放操作数,但它们可以像数据寄存器一样在运算过程中存放操作数,但它们可以像数据寄存器一样在运算过程中存放操作数,但它们可以像数据寄存器一样在运算过程中存放操作数,但它们只能以字(们只能以字(们只能以字(们只能以字(1616位)为单位使用。此外,在段内寻址时位)为单位使用。此外,在段内寻址时位)为单位使用。此外,在段内寻址时位)为单位使用。此外,在段内寻址时用它们来提供偏移地址(又称指针)。用它们来提供偏移地址(又称指针)。用它们来提供偏移地址(又称指针)。用它们来提供偏移地址(又称指针)。n nSPSP(stack pointerstack pointer):称为堆栈指针寄存器。用来指):称为堆栈指针寄存器。用来指):称为堆栈指针寄存器。用来指):称为堆栈指针寄存器。用来指示栈顶的偏移地址,示栈顶的偏移地址,示栈顶的偏移地址,示栈顶的偏移地址,n nBPBP(base pointerbase pointer):称为基址指针寄存器。用作堆):称为基址指针寄存器。用作堆):称为基址指针寄存器。用作堆):称为基址指针寄存器。用作堆栈区中的一个基地址以便访问堆栈中的其他信息。栈区中的一个基地址以便访问堆栈中的其他信息。栈区中的一个基地址以便访问堆栈中的其他信息。栈区中的一个基地址以便访问堆栈中的其他信息。n nSISI(source indexsource index):源变址寄存器。当与):源变址寄存器。当与):源变址寄存器。当与):源变址寄存器。当与DSDS联用时,联用时,联用时,联用时,用来确定数据段中某一存储单元的地址,在串处理指令中,用来确定数据段中某一存储单元的地址,在串处理指令中,用来确定数据段中某一存储单元的地址,在串处理指令中,用来确定数据段中某一存储单元的地址,在串处理指令中,SISI作为隐含的源变址寄存器,与作为隐含的源变址寄存器,与作为隐含的源变址寄存器,与作为隐含的源变址寄存器,与DSDS联用达到在数据段寻联用达到在数据段寻联用达到在数据段寻联用达到在数据段寻址的目的。址的目的。址的目的。址的目的。n nDIDI(destdest index index):目的变址寄存器。在串处理指令中,):目的变址寄存器。在串处理指令中,):目的变址寄存器。在串处理指令中,):目的变址寄存器。在串处理指令中,DIDI作为隐含的目的变址寄存器并作为隐含的目的变址寄存器并作为隐含的目的变址寄存器并作为隐含的目的变址寄存器并ESES联用在附加段中寻址,联用在附加段中寻址,联用在附加段中寻址,联用在附加段中寻址,其它功能和使用方法与其它功能和使用方法与其它功能和使用方法与其它功能和使用方法与SISI基本相同。基本相同。基本相同。基本相同。n n3.段寄存器段寄存器 这组寄存器包括这组寄存器包括这组寄存器包括这组寄存器包括CSCS、DSDS、ESES、SSSS四个四个四个四个1616位寄存位寄存位寄存位寄存器。它们是器。它们是器。它们是器。它们是Intel 8086/8088Intel 8086/8088的四个段寄存器。的四个段寄存器。的四个段寄存器。的四个段寄存器。为了寻址为了寻址为了寻址为了寻址1MB1MB内存,内存,内存,内存,Intel 8086/8088Intel 8086/8088将内存分将内存分将内存分将内存分成若干个逻辑段。每个段长成若干个逻辑段。每个段长成若干个逻辑段。每个段长成若干个逻辑段。每个段长64KB64KB。这四个段寄存器。这四个段寄存器。这四个段寄存器。这四个段寄存器存放各段的段地址(段基址)。存放各段的段地址(段基址)。存放各段的段地址(段基址)。存放各段的段地址(段基址)。n nIntel 8086/8088Intel 8086/8088中的四个段寄存器分别称为中的四个段寄存器分别称为中的四个段寄存器分别称为中的四个段寄存器分别称为 代码段代码段代码段代码段CS(CodeCS(Code Segment)Segment)寄存器、寄存器、寄存器、寄存器、数据段数据段数据段数据段DS(DataDS(Data Segment)Segment)寄存器、寄存器、寄存器、寄存器、堆栈段堆栈段堆栈段堆栈段SS(StackSS(Stack Segment)Segment)寄存器和附加段寄存器和附加段寄存器和附加段寄存器和附加段ES(ExtraES(Extra Segment)Segment)寄存器。寄存器。寄存器。寄存器。n nCSCS段寄存器给出当前代码段的段地址。段寄存器给出当前代码段的段地址。段寄存器给出当前代码段的段地址。段寄存器给出当前代码段的段地址。DSDS段寄存器段寄存器段寄存器段寄存器给出当前数据段的段地址。给出当前数据段的段地址。给出当前数据段的段地址。给出当前数据段的段地址。SSSS段寄存器给出当前堆段寄存器给出当前堆段寄存器给出当前堆段寄存器给出当前堆栈段的段地址。栈段的段地址。栈段的段地址。栈段的段地址。ESES段寄存器给出当前使用的附加段段寄存器给出当前使用的附加段段寄存器给出当前使用的附加段段寄存器给出当前使用的附加段的段地址。的段地址。的段地址。的段地址。4.4.控制寄存器控制寄存器控制寄存器控制寄存器 这组寄存器包括这组寄存器包括这组寄存器包括这组寄存器包括IPIP(instruction pointerinstruction pointer)和)和)和)和FLAGSFLAGS两个两个两个两个1616位寄存器。位寄存器。位寄存器。位寄存器。IPIP为指令指针寄存器,用来为指令指针寄存器,用来为指令指针寄存器,用来为指令指针寄存器,用来存放代码段中的偏移地址,它与存放代码段中的偏移地址,它与存放代码段中的偏移地址,它与存放代码段中的偏移地址,它与CSCS寄存器联用确定下一寄存器联用确定下一寄存器联用确定下一寄存器联用确定下一条指令的物理地址。条指令的物理地址。条指令的物理地址。条指令的物理地址。FLAGSFLAGS为标志寄存器,又称程序状为标志寄存器,又称程序状为标志寄存器,又称程序状为标志寄存器,又称程序状态字寄存器态字寄存器态字寄存器态字寄存器PSWPSW(program status wordprogram status word),是一),是一),是一),是一个个个个1616位的寄存器,位的寄存器,位的寄存器,位的寄存器,Intel 8086/8088Intel 8086/8088使用其中的使用其中的使用其中的使用其中的9 9位,位,位,位,即即即即6 6位条件码标志位条件码标志位条件码标志位条件码标志(flag)(flag)和和和和3 3位控制标志,具体情况见下位控制标志,具体情况见下位控制标志,具体情况见下位控制标志,具体情况见下表所示:表所示:表所示:表所示:1515141413131212111110109 98 87 76 65 54 43 32 21 10 0OFOFDFDFIFIFTFTFSFSFZFZFAFAFPFPFCFCFFLAGSFLAGS寄存器的各位情况寄存器的各位情况寄存器的各位情况寄存器的各位情况其中,标示其中,标示其中,标示其中,标示的那一位为无用位,该位为的那一位为无用位,该位为的那一位为无用位,该位为的那一位为无用位,该位为0 0或或或或1 1没有任何没有任何没有任何没有任何实际意义。条件码标志用来记录程序中运行结果的状态实际意义。条件码标志用来记录程序中运行结果的状态实际意义。条件码标志用来记录程序中运行结果的状态实际意义。条件码标志用来记录程序中运行结果的状态信息,控制标志用来控制信息,控制标志用来控制信息,控制标志用来控制信息,控制标志用来控制CPUCPU的工作状态。的工作状态。的工作状态。的工作状态。n n(1 1)条件码标志)条件码标志)条件码标志)条件码标志 OF(OverflowOF(Overflow Flag)Flag)溢出标志溢出标志溢出标志溢出标志 溢出即把参加运算的两个数当成有符号数时,当溢出即把参加运算的两个数当成有符号数时,当溢出即把参加运算的两个数当成有符号数时,当溢出即把参加运算的两个数当成有符号数时,当运算结果超过了补码的表数范围,从而导致结果运算结果超过了补码的表数范围,从而导致结果运算结果超过了补码的表数范围,从而导致结果运算结果超过了补码的表数范围,从而导致结果出错,这种情况称为溢出。出错,这种情况称为溢出。出错,这种情况称为溢出。出错,这种情况称为溢出。当溢出时,当溢出时,当溢出时,当溢出时,CPUCPU自动自动自动自动使使使使OF=1OF=1否则否则否则否则CPUCPU自动使自动使自动使自动使OF=0OF=0。如两个正数。如两个正数。如两个正数。如两个正数相加结果为负,两个负数相加结果为正,正数减相加结果为负,两个负数相加结果为正,正数减相加结果为负,两个负数相加结果为正,正数减相加结果为负,两个负数相加结果为正,正数减负数结果为负数,负数减正数结果为正,这四种负数结果为负数,负数减正数结果为正,这四种负数结果为负数,负数减正数结果为正,这四种负数结果为负数,负数减正数结果为正,这四种情况,显然结果都是错误的,它们都是溢出。虽情况,显然结果都是错误的,它们都是溢出。虽情况,显然结果都是错误的,它们都是溢出。虽情况,显然结果都是错误的,它们都是溢出。虽然是否会溢出然是否会溢出然是否会溢出然是否会溢出CPUCPU自身可以判别出来,但读者应自身可以判别出来,但读者应自身可以判别出来,但读者应自身可以判别出来,但读者应该也要掌握简单有效的判别方法。该也要掌握简单有效的判别方法。该也要掌握简单有效的判别方法。该也要掌握简单有效的判别方法。SF(SignSF(Sign Flag)Flag)符号标志符号标志符号标志符号标志 把参加运算的两个数当成有符号数时,结果为负时把参加运算的两个数当成有符号数时,结果为负时把参加运算的两个数当成有符号数时,结果为负时把参加运算的两个数当成有符号数时,结果为负时SF=1SF=1,否则,否则,否则,否则SF=0SF=0。这种情况下,。这种情况下,。这种情况下,。这种情况下,SFSF就是最高位的就是最高位的就是最高位的就是最高位的状态。状态。状态。状态。ZF(ZeroZF(Zero Flag)Flag)零标志零标志零标志零标志 结果为结果为结果为结果为0 0时时时时ZF=1ZF=1,否则,否则,否则,否则ZF=0ZF=0。CF(CarryCF(Carry Flag)Flag)进位标志进位标志进位标志进位标志 记录运算时最高有效位是否产生了进位或借位值。当记录运算时最高有效位是否产生了进位或借位值。当记录运算时最高有效位是否产生了进位或借位值。当记录运算时最高有效位是否产生了进位或借位值。当最高有效位有进位或借位时最高有效位有进位或借位时最高有效位有进位或借位时最高有效位有进位或借位时CF=1CF=1,否则置,否则置,否则置,否则置CF=0CF=0。AF(AuxiliaryAF(Auxiliary carry Flag)carry Flag)辅助进位标志辅助进位标志辅助进位标志辅助进位标志 记录运算时第记录运算时第记录运算时第记录运算时第3 3位位位位(字节运算字节运算字节运算字节运算)或第或第或第或第7 7位(字运算)产生位(字运算)产生位(字运算)产生位(字运算)产生的进位或借位值。例如,执行加法指令时第的进位或借位值。例如,执行加法指令时第的进位或借位值。例如,执行加法指令时第的进位或借位值。例如,执行加法指令时第3 3位有进位位有进位位有进位位有进位时时时时AF=1AF=1,否则,否则,否则,否则AF=0AF=0。PF(ParityPF(Parity Flag)Flag)奇偶标志奇偶标志奇偶标志奇偶标志 当传送信息时可用当传送信息时可用当传送信息时可用当传送信息时可用PFPF来帮助进行奇偶校验。当结果操来帮助进行奇偶校验。当结果操来帮助进行奇偶校验。当结果操来帮助进行奇偶校验。当结果操作数中作数中作数中作数中1 1的个数为偶数时的个数为偶数时的个数为偶数时的个数为偶数时PF=lPF=l,否则,否则,否则,否则PF=0PF=0。(2 2)控制标志)控制标志)控制标志)控制标志n n控制标志是控制程序的运行及控制标志是控制程序的运行及控制标志是控制程序的运行及控制标志是控制程序的运行及CPUCPU的工作,包括的工作,包括的工作,包括的工作,包括DFDF、IFIF、TFTF三位。三位。三位。三位。DF(DirectionDF(Direction Flag)Flag)方向标志方向标志方向标志方向标志n n当机器执行串操作指令时,若当机器执行串操作指令时,若当机器执行串操作指令时,若当机器执行串操作指令时,若DFDF位为位为位为位为1 1,每次操作后使变,每次操作后使变,每次操作后使变,每次操作后使变址寄存器址寄存器址寄存器址寄存器SISI和和和和DIDI减量减量减量减量.当当当当DFDF为为为为0 0时,则使时,则使时,则使时,则使SISI和和和和DIDI增量。增量。增量。增量。可用相应的汇编语言指令来设置该位。可用相应的汇编语言指令来设置该位。可用相应的汇编语言指令来设置该位。可用相应的汇编语言指令来设置该位。IF(InterruptIF(Interrupt Flag)Flag)允许标志允许标志允许标志允许标志n nIFIF为为为为l l时,开放可屏蔽中断中断,否则关中断。可用相应时,开放可屏蔽中断中断,否则关中断。可用相应时,开放可屏蔽中断中断,否则关中断。可用相应时,开放可屏蔽中断中断,否则关中断。可用相应的汇编语言指令来设置该位。的汇编语言指令来设置该位。的汇编语言指令来设置该位。的汇编语言指令来设置该位。TF(TrapTF(Trap Flag)Flag)陷阱标志陷阱标志陷阱标志陷阱标志n nTF=1TF=1时,每条指令执行完后产生陷井,时,每条指令执行完后产生陷井,时,每条指令执行完后产生陷井,时,每条指令执行完后产生陷井,TF=0TF=0时,时,时,时,CPUCPU正常工作不产生陷阱。正常工作不产生陷阱。正常工作不产生陷阱。正常工作不产生陷阱。TFTF无法使用汇编语言指令来设置无法使用汇编语言指令来设置无法使用汇编语言指令来设置无法使用汇编语言指令来设置该位,但可通过间接的方法改变该位的值。该位,但可通过间接的方法改变该位的值。该位,但可通过间接的方法改变该位的值。该位,但可通过间接的方法改变该位的值。n n2.1.3 8086 CPU内部组织内部组织n n1.内存储器的组成内存储器的组成 n n存储器由若干个基本存储单元组成,每个基本存储存储器由若干个基本存储单元组成,每个基本存储单元有一个惟一的存储器地址即物理地址。每个基单元有一个惟一的存储器地址即物理地址。每个基本存储单元存放本存储单元存放1个字节的数据,所以基本存储单个字节的数据,所以基本存储单元又称字节单元。元又称字节单元。1个字节包含了个字节包含了8个二进制位。个二进制位。n n存储容量是指存储器所具有的基本存储单元个数,存储容量是指存储器所具有的基本存储单元个数,存储容量的基本单位是字节存储容量的基本单位是字节B,常用的单位还有,常用的单位还有KB(千字节),(千字节),MB(兆字节),(兆字节),GB(吉字节),(吉字节),甚至甚至TB(太字节)。(太字节)。n n换算规则为:换算规则为:1KB=210字节字节=1024字节字节1MB=220字节字节,1GB=230字节字节,1TB=240字节。字节。n n2.基于基于Intel 8086/8088 CPU的内存结构的内存结构 8086/8088 CPU有有20条地址线,因此条地址线,因此具有具有1M(220)的寻址能力,即可以在)的寻址能力,即可以在1M字字节单元中寻找出所需的一个存储单元。在机器节单元中寻找出所需的一个存储单元。在机器内部是用内部是用20位二进制无符号数表示存储单元地位二进制无符号数表示存储单元地址。址。n n(1)存储单元的地址和内容)存储单元的地址和内容 n n存储单元有字节单元和字单元两种,其中,一存储单元有字节单元和字单元两种,其中,一个字节单元只有一个字节,而一个字单元包含个字节单元只有一个字节,而一个字单元包含几个字节单元,取决于机器字长,字长为几个字节单元,取决于机器字长,字长为16的的机器,字单元包含连续的两个字节单元,字长机器,字单元包含连续的两个字节单元,字长为为32的机器,字单元包含的机器,字单元包含4个连续的字节单元,个连续的字节单元,其它字长的机器依此类推。其它字长的机器依此类推。n n存储单元的地址存储单元的地址 众多的存储单元以存储单元的地址加以区分。众多的存储单元以存储单元的地址加以区分。存储单元地址从存储单元地址从0开始顺序编址,依次加开始顺序编址,依次加1。存储单元的地址是无符号数。存储单元的地址是无符号数。n n存储单元的内容存储单元的内容 一个存储单元中存放的信息称为该存储单元一个存储单元中存放的信息称为该存储单元的内容。的内容。n n(2 2)存储单元物理地址的形成)存储单元物理地址的形成)存储单元物理地址的形成)存储单元物理地址的形成n n内存物理空间内存物理空间内存物理空间内存物理空间 Intel 8086/8088CPUIntel 8086/8088CPU地址线是地址线是地址线是地址线是2020位的,所以,基位的,所以,基位的,所以,基位的,所以,基于于于于Intel 8086/8088 CPUIntel 8086/8088 CPU的计算机的内存物理空间最的计算机的内存物理空间最的计算机的内存物理空间最的计算机的内存物理空间最大可达大可达大可达大可达220B=1MB220B=1MB,其物理寻址范围是,其物理寻址范围是,其物理寻址范围是,其物理寻址范围是00000H00000HFFFFFHFFFFFH。在实际的计算机内存配置中,可以小于。在实际的计算机内存配置中,可以小于。在实际的计算机内存配置中,可以小于。在实际的计算机内存配置中,可以小于1MB1MB。n n存储单元物理地址存储单元物理地址存储单元物理地址存储单元物理地址 物理地址即真正的地址,即由物理地址即真正的地址,即由物理地址即真正的地址,即由物理地址即真正的地址,即由CPUCPU地址引脚输出的地址,地址引脚输出的地址,地址引脚输出的地址,地址引脚输出的地址,在基于在基于在基于在基于Intel 8086/8088 CPUIntel 8086/8088 CPU的计算机中,存储单元的计算机中,存储单元的计算机中,存储单元的计算机中,存储单元的物理地址是的物理地址是的物理地址是的物理地址是2020位的,每个存储单元拥有惟一的位的,每个存储单元拥有惟一的位的,每个存储单元拥有惟一的位的,每个存储单元拥有惟一的2020位物位物位物位物理地址理地址理地址理地址。n n存储器地址空间的分段存储器地址空间的分段存储器地址空间的分段存储器地址空间的分段 在基于在基于在基于在基于Intel 8086/8088 CPUIntel 8086/8088 CPU的计算机中,把的计算机中,把的计算机中,把的计算机中,把1MB1MB地址空间字节划成若干逻辑段。每个逻辑段必须满足两个地址空间字节划成若干逻辑段。每个逻辑段必须满足两个地址空间字节划成若干逻辑段。每个逻辑段必须满足两个地址空间字节划成若干逻辑段。每个逻辑段必须满足两个条件:一是逻辑段的起始字节单元物理地址条件:一是逻辑段的起始字节单元物理地址条件:一是逻辑段的起始字节单元物理地址条件:一是逻辑段的起始字节单元物理地址(简称段首址简称段首址简称段首址简称段首址)必须是必须是必须是必须是1616的倍数,即的倍数,即的倍数,即的倍数,即2020位物理地址的最末位物理地址的最末位物理地址的最末位物理地址的最末4 4位为全位为全位为全位为全0 0;二是逻辑段的最大长度为二是逻辑段的最大长度为二是逻辑段的最大长度为二是逻辑段的最大长度为64KB64KB,最小长度为,最小长度为,最小长度为,最小长度为1B1B。n n段地址段地址段地址段地址 在一个逻辑段中,所有存储单元的段地址都是一样的,在一个逻辑段中,所有存储单元的段地址都是一样的,在一个逻辑段中,所有存储单元的段地址都是一样的,在一个逻辑段中,所有存储单元的段地址都是一样的,1616位,等于逻辑段在主存中的起始字节单元物理地址位,等于逻辑段在主存中的起始字节单元物理地址位,等于逻辑段在主存中的起始字节单元物理地址位,等于逻辑段在主存中的起始字节单元物理地址(简称段首址简称段首址简称段首址简称段首址)的高的高的高的高1616位,程序运行后,段地址被装入位,程序运行后,段地址被装入位,程序运行后,段地址被装入位,程序运行后,段地址被装入CPUCPU中对应的段寄存器中。中对应的段寄存器中。中对应的段寄存器中。中对应的段寄存器中。n n段内偏移地址段内偏移地址段内偏移地址段内偏移地址 是指同一段内存储单元距离段首址的偏移量,简称偏移是指同一段内存储单元距离段首址的偏移量,简称偏移是指同一段内存储单元距离段首址的偏移量,简称偏移是指同一段内存储单元距离段首址的偏移量,简称偏移地址(或称有效地址),用地址(或称有效地址),用地址(或称有效地址),用地址(或称有效地址),用EAEA来表示,由于每段最长来表示,由于每段最长来表示,由于每段最长来表示,由于每段最长为为为为64KB64KB,所以偏移地址为,所以偏移地址为,所以偏移地址为,所以偏移地址为1616位。位。位。位。n n物理地址形成物理地址形成物理地址形成物理地址形成 物理地址由物理地址由物理地址由物理地址由Intel 8086/8088 CPUIntel 8086/8088 CPU内部的内部的内部的内部的2020位地位地位地位地址加法器产生,由址加法器产生,由址加法器产生,由址加法器产生,由2020根地址引脚输出。根地址引脚输出。根地址引脚输出。根地址引脚输出。2020位地址加法位地址加法位地址加法位地址加法器的两个输入量是段寄存器中的器的两个输入量是段寄存器中的器的两个输入量是段寄存器中的器的两个输入量是段寄存器中的1616位段地址和指令执位段地址和指令执位段地址和指令执位段地址和指令执行产生的行产生的行产生的行产生的1616位偏移地址,按照(段地址位偏移地址,按照(段地址位偏移地址,按照(段地址位偏移地址,按照(段地址1616)偏移)偏移)偏移)偏移地址的机制相加。即:物理地址(段地址地址的机制相加。即:物理地址(段地址地址的机制相加。即:物理地址(段地址地址的机制相加。即:物理地址(段地址1616)偏移地址,其中(段地址偏移地址,其中(段地址偏移地址,其中(段地址偏移地址,其中(段地址1616)也可由段地址左移)也可由段地址左移)也可由段地址左移)也可由段地址左移4 4位,位,位,位,其后补其后补其后补其后补4 4个个个个0 0来实现。来实现。来实现。来实现。n n2.1.4 8086 CPU的的I/O组织组织 众多的外部设备与主机(众多的外部设备与主机(众多的外部设备与主机(众多的外部设备与主机(CPUCPU和存储器)的通信是通和存储器)的通信是通和存储器)的通信是通和存储器)的通信是通过外设接口(过外设接口(过外设接口(过外设接口(InterfaceInterface)进行的,每个接口的具体形)进行的,每个接口的具体形)进行的,每个接口的具体形)进行的,每个接口的具体形式,功能都不尽相同,每个接口都包括一个或若干个寄式,功能都不尽相同,每个接口都包括一个或若干个寄式,功能都不尽相同,每个接口都包括一个或若干个寄式,功能都不尽相同,每个接口都包括一个或若干个寄存器,数目不尽相同,但所有这些寄存器按照它们的功存器,数目不尽相同,但所有这些寄存器按照它们的功存器,数目不尽相同,但所有这些寄存器按照它们的功存器,数目不尽相同,但所有这些寄存器按照它们的功能大致可以分为三类,这三类寄存器分别是:能大致可以分为三类,这三类寄存器分别是:能大致可以分为三类,这三类寄存器分别是:能大致可以分为三类,这三类寄存器分别是:n n数据寄存器:存放外设和主机间传送的数据数据寄存器:存放外设和主机间传送的数据数据寄存器:存放外设和主机间传送的数据数据寄存器:存放外设和主机间传送的数据n n状态寄存器:保存外设或接口的状态信息状态寄存器:保存外设或接口的状态信息状态寄存器:保存外设或接口的状态信息状态寄存器:保存外设或接口的状态信息n n命令寄存器:保存命令寄存器:保存命令寄存器:保存命令寄存器:保存CPUCPU发给外设或接口的控制命令发给外设或接口的控制命令发给外设或接口的控制命令发给外设或接口的控制命令n n在基于在基于Intel 8086/8088 CPU的计算的计算机中,为了区别机中,为了区别CPU中的寄存器,我们把中的寄存器,我们把接口中的寄存器称为端口。因此接口中的接口中的寄存器称为端口。因此接口中的数据寄存器、状态寄存器、命令寄存器又数据寄存器、状态寄存器、命令寄存器又称数据端口、状态端口、控制端口。为了称数据端口、状态端口、控制端口。为了区分外设接口中的众多端口,给每个端口区分外设接口中的众多端口,给每个端口赋予一个端口地址(又称端口号),这样赋予一个端口地址(又称端口号),这样就构成一个独立于内存的端口地址空间,就构成一个独立于内存的端口地址空间,也称也称I/O空间。空间。2.2 Intel的的32位位CPU汇编语言编程结构汇编语言编程结构 Intel 32位位 CPU是指是指Intel公司生产的字长公司生产的字长为为32位的位的CPU,从,从80386Pentium 4,基于基于Intel 32位位 CPU的计算机的汇编语言编的计算机的汇编语言编程结构和基于程结构和基于Intel 8086/8088 CPU的计的计算机的汇编语言编程结构没有本质的区别,但算机的汇编语言编程结构没有本质的区别,但在工作模式,可编程寄存器的字长及数量,内在工作模式,可编程寄存器的字长及数量,内存管理等方面有很大的改进。存管理等方面有很大的改进。n n2.2.1工作模式概述工作模式概述n n2.2.2 Intel 32位位CPU的编程结构介绍的编程结构介绍n n2.2.1工作模式概述工作模式概述 Intel 32位位CPU共有三种工作模式,即共有三种工作模式,即实模式,保护模式,虚拟实模式,保护模式,虚拟8086模式。模式。1 1 实模式:实模式:实模式:实模式:只能访问实地址的工作模式。只能访问实地址的工作模式。只能访问实地址的工作模式。只能访问实地址的工作模式。Intel32Intel32位位位位C

    注意事项

    本文(第2章 Intel 80x86汇编语言编程结构.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开