Intel汇编语言程序设计-Chapter2-IA-32处理器体系结构.ppt

Intel汇编语言程序设计-Chapter2-IA-32处理器体系结构.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
段寄存器 在实地址模式下,段寄存器用于存放段的基址;段寄存器包括:CS、SS、DS、ES、FS、GS。 CS往往用于存放代码段(程序的指令)地址; DS存放数据段(程序的变量)地址; SS存放堆栈段(函数的局部变量和参数)地址; ES、FS和GS则可指向其他数据段。 保护模式下,段寄存器存放段描述符表的指针(索引)。 指令指针寄存器EIP 指令指针寄存器始终存放下一条要被CPU执行的指令的地址。 有些机器指令可以修改EIP,使程序分支转移到新的 地址执行。例如:RET EFLAGS寄存器 EFLAGS(处理器标志寄存器)由控制CPU的操作或反映CPU某些运算结果的二进制位构成。 处理器标志包括两种类型:状态标志和控制标志。 说某标志被设置意味着使其等于1;被清除意味着使其等于0 程序员可以通过设置EFLAGS中的控制标志控制CPU的操作,如方向和中断标志。 一些机器指令可以测试和控制这些标志,例如:JC 或STC CF OF SF ZF AC PF … 进位标志 Carry Flag 符号标志 Sign Flag 辅助进位标志 Assistant Carry Flag 溢出标志 Overflow Flag 零标志 Zero Flag 奇偶标志 Parity Flag 其中反映CPU执行的算术和逻辑操作结果的状态标志,包括溢出、符号、零、辅助进位、奇偶和进位标志。 EFLAGS的状态标志 进位标志CF:在无符号算术运算的结果,无法容纳于目的操作数中时被设置。 溢出标志OF:在有符号算术运算的结果位数太多,而无法容纳于目的操作数中时被设置。 符号标志SF:在算术或逻辑运算产生的结果为负时被设置。 零标志ZF:在算术或逻辑运算产生的结果为零时被设置。 辅助进位标志AC:在算术运算导致8位操作数的位3到位4产生进位时被设置。 奇偶进位PF:在统计一个数字内值等于1的位数时,如果为1的总位数为偶数,则设置该标志;否则清除该标志。 系统寄存器 三、系统寄存器 仅允许运行在最高特权级的程序(例如:操作系统内核)访问 的寄存器,任何应用程序禁止访问。 中断描述符表寄存器IDTR:保存中断描述符表的地址。 全局描述符表寄存器GDTR:保存全局描述符表的地址,全局段描述符表包含了任务状态段和局部描述符表的指针。 局部描述符表寄存器LDTR:保存当前正在运行的程序的代码段、数据段和堆栈段的指针。 任务寄存器:保存当前执行任务的任务状态段的地址。 调试寄存器:用于调试程序时设置端点。 2.2.3 浮点单元 浮点单元FPU 适合于高速浮点运算,从Intel 486开始集成到主处理器 芯片中。 8个80位的浮点数据寄存器 ST(0)~ST(7) 2个48位的指针寄存器 3个16位的控制寄存器 2.2.4 Intel微处理器的历史 Intel 8086 Intel 80286 IA-32处理器系列 P6处理器系列 奔腾Ⅳ和Xeon系列 CISC和RISC 计算机科学与技术学院-汇编语言程序设计 * 第2章 IA-32体系结构 要点: 基本概念 IA-32处理器体系结构 IA-32的内存管理 IA-32微机的构成 输入输出系统 2.1 基本概念 微机的基本结构 指令执行周期 多级流水线 内存的读取 程序是如何运行的 2.1.1 微机的基本结构 中央处理器 (CPU) 内存储器 I/O设备#1 I/O设备#2 寄存器 ALU CU 时钟 地址总线 控制总线 数据总线 图2.1 微机的结构图 中央处理器(CPU):进行所有计算和逻辑操作的地方。 它包含: 寄存器(register) 高频时钟(clock):用于将CPU的内部操作和其他系统部件同步 控制单元(CU,control unit):协调执行机器指令时各个步骤的次序。 算术逻辑单元(ALU,arithmetic logic unit):执行加法和减法等算术运算,以及AND、OR和NOT等逻辑运算。 CPU通过插入CPU插槽的引脚同计算机的其余部分相连接,大部分引脚与数据总线、控制总线和地址总线相连接。 内存储器:是计算机程序运行时存放指令和数据的地方。存储单元接受CPU的数据请求,从随机访问存储器(RAM)中取出数据送至CPU,并将运算结果从CPU送回存储器中。 总线(bus):一组用于在计算机各部分之间传送数据的并行线。 数据总线(data bus):在CPU和内存之间传送指令和数据。 控制总线(control bus):使用二进制信号对连接到系统总线上的所有设备的动作进行同步。 地址总线(address bus):当被执行的指令要在CPU和内存之间传送数据时,地址总线上保持着指令和数据的地址。 时钟(cloc

文档评论(0)

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

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

1亿VIP精品文档

相关文档