第六章32位指令及其编程 结穴章 32位令
第 六 章 32 位 指 令 及 其 编 程 封面 1
第六章32位指令及其编程 第六章32位指令及其编程 概述 6.132位指令运行环境 6.232位扩展指令 6.332位指令的程序设计 6.432位新增指令 6.5用汇编语言编写 32位 WINDOWS应用程序
第 六 章 32 位 指 令 及 其 编 程 第六章 32位指令及其编程 2 第六章 32位指令及其编程 概 述 6.1 32位指令运行环境 6.2 32位扩展指令 6.3 32位指令的程序设计 6.4 32位新增指令 6.5 用汇编语言编写 32位WINDOWS应用程序
第六章32位指令及其编程 概述 32位指令系统以80386CPU为基础,其指令集可分 为整数指令集(16位整数指令集、32位整数指令集)和 浮点指令集,16位整数指令集全兼容8086cPU。 19%6年, Intel推出 MMX Pent ium,首次增加了MM (多媒体扩展)指令集,提高了PU对多媒体数据的处 理能力。 1999年, Inte推出 PentiumⅢ,增加了SSE指令集 (数据流SMD扩展指令,SIMD为MX指令集的关键技术, 意为“单指令流多数据流”)。 20年,Inte推出 Pent i um4,又增加SSE2指令集, 增强了处理器对3-D图象、视频编码解码、语音识别等 数据的处理能力
第 六 章 32 位 指 令 及 其 编 程 概述1 3 概 述 32位指令系统以80386 CPU 为基础,其指令集可分 为整数指令集(16位整数指令集、32位整数指令集)和 浮点指令集,16位整数指令集全兼容8086 CPU。 1996年,Intel推出MMX Pentium,首次增加了MMX (多媒体扩展)指令集,提高了CPU对多媒体数据的处 理能力。 1999年,Intel推出Pentium Ⅲ,增加了SSE指令集 (数据流SIMD扩展指令,SIMD为MMX指令集的关键技术, 意为“单指令流多数据流”)。 2000年,Intel推出Pentium4,又增加SSE2指令集, 增强了处理器对3-D图象、视频编码解码、语音识别等 数据的处理能力
第六章32位指令及其编程 本章主要介绍80386的32位整数指令集,及其汇编 语言程序设计,对386以后推出的CPU新增指令(6.4.2、 6.4.3、6.4.4)简单介绍。 6.5节简单介绍如何使用汇编语言编写 WINDOWS应 用程序。 本章应重点掌握: √32位编程环境 √32位寻址方式 √32位指令编程方法 回第6章
第 六 章 32 位 指 令 及 其 编 程 概述2 4 本章主要介绍80386的32位整数指令集,及其汇编 语言程序设计,对386以后推出的CPU新增指令(6.4.2、 6.4.3、6.4.4)简单介绍。 6.5 节简单介绍如何使用汇编语言编写WINDOWS应 用程序。 本章应重点掌握: ✓32位编程环境 ✓32位寻址方式 ✓32位指令编程方法 回 第6章
第六章32位指令及其编程 6.132位指令运行环境 补充.386的工作方式及16位段和32位段 6.1.1寄存器组 6.1.2寻址方式 6.1.3机器代码格式 回第6章 5
第 六 章 32 位 指 令 及 其 编 程 6.1 32位指令运行环境 5 6.1 32位指令运行环境 补充.386的工作方式及16位段和32位段 6.1.1 寄存器组 6.1.2 寻址方式 6.1.3 机器代码格式 回 第6章
第六章32位指令及其编程 补充386的工作方式 实地址方式: 实方式(Rea!Mde)与8086/80186的工作方式以 及80286的实地址方式具有相同的基本结构。 不使用386的优先级分级制,所有程序(D0和应用 程序都工作在0级(特权级) 32位x86PU只能寻址1MB物理存储器空间,分段最 大64KB,采用16位逻辑段。 32位x86GPU可以使用32位寄存器和32位操作数, 也可以采用32位寻址方式。 相当于可以进行32位处理的快速8086
第 六 章 32 位 指 令 及 其 编 程 386的工作方式: 实方式 6 补充 386的工作方式 实地址方式: ➢ 实方式(Real Mode)与8086/80186的工作方式以 及80286的实地址方式具有相同的基本结构。 ➢ 不使用386的优先级分级制,所有程序(DOS和应用 程序都工作在0级(特权级)。 ➢ 32位x86 CPU只能寻址1MB物理存储器空间,分段最 大64KB,采用16位逻辑段。 ➢ 32位x86 CPU可以使用32位寄存器和32位操作数, 也可以采用32位寻址方式。 相当于可以进行32位处理的快速8086
第六章32位指令及其编程 保护方式:支持多任务的工作方式 保护方式( Protected mode)提供段式存储管理功能和页 式存储管理功能,可以更好地支持虚拟存储器,最大可 达64TB >保护方式下,32位x860PU可以使用全部32条地址线, 使微处理器可寻址的物理存储器达到4GB,采用32位逻 辑段,其段地址和偏移量都是32位。 在保护方式下,32位x86CPU可以发挥其全部功能, 可以充分利用其强大的存储管理和保护能力。例如cPU 设置(0~3)4个优先级,不同的程序运行在不同的优先 级上;指令也分成3个级别:特权指令、敏感指令和普通 指令等等安全保护措施。 7
第 六 章 32 位 指 令 及 其 编 程 保护方式 7 保护方式:支持多任务的工作方式 ➢ 保护方式(Protected Mode)提供段式存储管理功能和页 式存储管理功能,可以更好地支持虚拟存储器,最大可 达64TB。 ➢ 保护方式下,32位x86CPU可以使用全部32条地址线, 使微处理器可寻址的物理存储器达到4GB,采用32位逻 辑段,其段地址和偏移量都是32位。 ➢ 在保护方式下,32位x86 CPU可以发挥其全部功能, 可以充分利用其强大的存储管理和保护能力。例如CPU 设置(0~3)4个优先级,不同的程序运行在不同的优先 级上;指令也分成3个级别:特权指令、敏感指令和普通 指令等等安全保护措施
第六章32位指令及其编程 虚拟8086方式: >是一种在保护方式下运行的类似实方式的工作环境, 实际上是保护方式和实方式的混合。 实方式特征:仍然采用16位逻辑段:段寄存器的使 用与实方式一样,左移4位加16位偏移量得到20位地址。 。保护方式特征:可同时运行多个8086程序,每个 8086程序可以利用分页机制将各自的逻辑MB空间映射 到不同的物理地址,从而实现共存于主存并行运行; 虚拟8086方式的程序运行在最低优先级—3级,操作系 统运行在0级,即特权级 >虚拟86方式和保护方式之间可以直接切换
第 六 章 32 位 指 令 及 其 编 程 虚拟86方式 8 虚拟8086方式: ➢是一种在保护方式下运行的类似实方式的工作环境, 实际上是保护方式和实方式的混合。 ⚫实方式特征:仍然采用16位逻辑段:段寄存器的使 用与实方式一样,左移4位加16位偏移量得到20位地址。 ⚫保护方式特征:可同时运行多个8086程序,每个 8086程序可以利用分页机制将各自的逻辑1MB空间映射 到不同的物理地址,从而实现共存于主存并行运行; 虚拟8086方式的程序运行在最低优先级—3级,操作系 统运行在0级,即特权级。 ➢虚拟86方式和保护方式之间可以直接切换
第六章32位指令及其编程 16位段和32位段 16位段:段地址和偏移地址都是16位 段的最大长度为64KB 32位段:段地址和偏移地址都是32位 段的最大长度为4GB 实方式下只能使用16位段;保护方式下默认 32位段,但也可使用16位段。 回61
第 六 章 32 位 指 令 及 其 编 程 16位段和32位段 9 16位段和32位段 16位段:段地址和偏移地址都是16位 段的最大长度为64KB 32位段:段地址和偏移地址都是32位 段的最大长度为4GB 实方式下只能使用16位段;保护方式下默认 32位段,但也可使用16位段。 回 6.1
第六章32位指令及其编程 6.1.1寄存器组 1.通用寄存器和指令指针寄存器 8个32位通用寄存器: EAX AX AH AL EBX BXBHBL ECX CX CH CL EDX DX DHDL ESISI EDI DI EBP BP ESP SP 32位指令指针寄存器:E|P 在16位段,EP高16位为0,其它32位寄存器如作为 地址指针寄存器,高16位也应为0
第 六 章 32 位 指 令 及 其 编 程 6.1.1 寄存器组 10 6.1.1 寄存器组 1.通用寄存器和指令指针寄存器 8个32位通用寄存器: EAX AX AH AL EBX BX BH BL ECX CX CH CL EDX DX DH DL ESI SI EDI DI EBP BP ESP SP 32位指令指针寄存器:EIP 在16位段,EIP高16位为0,其它32位寄存器如作为 地址指针寄存器,高16位也应为0