第10章 80X86到Pentium汇编语言程序设计.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 80X86到Pentium汇编语言程序设计

10.1从8086到pentium 10.1.1 8086/pentium结构特点 继1978年Intel公司设计出8086以来,其CPU不断更新,现已发展到pentium 4,在基本结构上采取向上兼容的方法,即新开发出的微处理器与较其早期开发出的微处理器结构与指令系统兼容,同时功能加强。 10.1.2 Pentium工作模式 1. 实地址存储管理操作模式,简称实模式。 提供与8086相同的功能。程序与数据运行在实际存储空间,无存储保护,不支持分页,存储空间为1MB,采用分段方式管理,每段大小为64KB,与8086相同。 在实模式下编程将有如下特点: 1)CPU总是从地址CS:IP处取指令,EIP的高16位为0。 2)堆栈段栈顶地址由SS:SP标志,ESP高16位为0。 3)数据段地址由16位段地址,(存于DS,ES,FS或GS中)和偏移地址(如采用32位寄存器表示,其高16位为0)。 2. 虚拟8086模式。 虚拟生成多个8086处理器,当EFLAGS寄存器的VM位被置1时,CPU进入虚拟8086模式, 1)分段寻址,与实模式相同。线性地址由段寄存器值左移四位加偏移地址得到。 2)分页寻址与保护模式相同。两者由线性地址到物理地址的转换是一样的。 3)支持部分保护机制,具有页级保护功能。 3. 保护模式。 采用分段和分页机制,用描述符表中的段描述符表示段的32位基地址、长度以及访问权限。 4. 系统管理模式(SMM)。 实现如电源管理(自动关闭、进入保护状态等)、对操作系统和正在运行的程序的管理、对系统安全的管理等高级管理功能。 四种模式之间切换关系 10.1.3 Pentium 系统提供的特权级 32位保护模式主要特点: 1)具有四个特权级3,2,1,0,将操作系统应用程序隔离开来,以提高系统可靠性和健状性。每次访问内存时都要作保护检查。 2)采用32位段,每个段偏移地址可达32位,每段高达4GB(232),每个程序可有16K(216)个段。 3)有些指令在16位段和32位段中的操作有所不同,例如串操作指令在16位段下采用SI/DI表示偏移地址,以CX为计数器;而在32位段下采用ESI/EDI表示偏移地址,以ECX为计数器;循环指令在16位、32位段下分别采用XC、EX表示循环次数。另外,转移、过程调用/返回、中断调用/返回等指令在实模式与保护模式下的功能也有较大差别。 描述符的基地址部分指明内存段的起始地址。80286微处理器的基地址为24位,80386以上的微处理器的基地址为32位,段可以在4G字节内存区中的任何地方开始。 描述符段界限部分用来指明该段的最大长度。80286微处理器的界限部分为16位。80386及其以上的微处理器的界限部分为20位,同时在其描述符附加字段部分又给出了一个粒度位G,当G=0时,段长的粒度单位为字节,可访问1至1M字节的内存段,且步长为1字节;当G=1时,段长的粒度单位为4K字节,称作页,可访问4K至4G的内存段,且步长为4K字节。 描述符访问权限部分用来控制对内存段的访问,又称访问权限字节,指明段在系统中所具有的功能,给出访问该段的相关控制信息。应用程序的访问权限字节如图所示: 7 6 5 4 3 2 1 A:段被访问标志位。A=0:该段还没被访问过;A=1:该段已被访问过。 W/R: 数据段可写位/代码段可读位。与可执行位E配合使用。 ED/C:扩展方向位/代码段符合位。与可执行位配合使用。 E:可执行位。E=1指明该段为代码段,E=0指明该段为数据段。 S: 段描述符位。S=0该段为系统段;S=1该段为应用程序的代码段或数据段。 DPL: 设置描述符特权级位。指定该段的特权级,从高到低依次为0、1、2、3。 P:存在位。p=1该段已装入、基地址和界限值有效,p=0该段未装入物理存储器、基地址和界限值有效无效。 以上W/R、ED/C和E三位组成类型字段,对类型字段的解释因段描述符位S取值的不同而不同,当S=1,且当可执行位E=0时,

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档