第六章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