保护模式或64位模式下的编程模型1、CPU内的寄存器: 由实模式的16位寄存器,扩展成32位的寄存器以及64位的寄存器(段寄存器仍然为16位)。 EAX、EBX、ECX、EDX(32位);RAX、RBX、RCX、RD
由实模式的16位寄存器,扩展成32位的寄存器以及64位的寄存器(段寄存器仍然为16位)。
EAX、EBX、ECX、EDX(32位);RAX、RBX、RCX、RDX(64位)。
EBX、EBP、ESI、EDI、EFLAGS、ESP、EIP(32位);RBX、RBP、RSI、RDI、RFLAGS、RSP、RIP(32位);
注意:段寄存器CS、DS、ES、SS、FS、GS仍然为16位。
2、内存中的存储单元(地址空间): 保护模式下(32位模式):由实模式的1MB扩展为2^32 = 4GB。地址是32位的!
保护模式下,内存有:1、分段模式;2、平坦模式;
64位模式下,所有的段寄存器都没有用,都全部清0。地址是64位的。
3、I/O端口(I/O地址空间): I/O端口地址都是16位的,能够寻址64K地址空间。
4、CPU的指令集(指令系统:Instruction Set) 指令的寻址方式:顺序寻址、跳跃寻址。
数据的寻址方式:32位保护模式/64模式支持实模式下所有的寻址方式,还扩充了一些:比例因子寻址。
比例因子寻址:基址寄存器 + 变址寄存器 * 比例因子(1,2,4,8之一) + 常量
5、汇编级的程序设计模型,核心就是程序的内存映像(代码段/文本段、全局数据段、栈、堆),即可执行文件的格式(在外存中的映像以及在内存中的映像) windows下的32位保护模式下有PE(portable Executable可移植可执行)可执行文件格式PE32;
windows下的64位模式下有PE32+或者PE+。