汇编语言-X86处理器架构-64位x86处理器
2021-04-03 19:30
标签:状态 start 字节 高达 指令 ati 细节 exp span 针对所有使用x86-64指令集的64位处理器的基本架构细节。包括Intel64和AMD64处理器。 具有以下基本特点: 1.向后兼容x86指令集 2.地址长度为64位,虚拟地址空间为2的64字节 3.可以使用64位通用寄存器 4.比x86-32多了8个通用寄存器 5.物理地址为48位,支持高达256TB的RAM intel64架构引入了IA-32e新模式,这个模式可以分为两个模式:兼容模式(compatibility mode)和64位模式(64-bit mode)。 兼容模式(compatibility mode): 在这个模式下16和32位应用程序不用重新进行编译就可以运行。16位windows(win16)和DOS应用程序不能运行在win64位下。 64位模式(64-bit mode): 处理器执行的是64位线性地址空间的应用程序。这个模式是64位Microsoftt Windows的原生模式 64位模式和32位的主要区别: 比32位多8个通用寄存器,有16个通用寄存器 有8个浮点寄存器 1个64位状态标志寄存器RFLAGS(只采用低32位),32位的称为EFLAGS 1个64位指令指针寄存器RIP,32位的称为EIP 8个64位MMX寄存器 16个128位XMM寄存器(32位模式只有8个XMM寄存器) 64位的通用寄存器可以访问8位,16位,32位和64位数据。 64位模式和32位的主要区别: 比32位多8个通用寄存器,有16个通用寄存器 有8个浮点寄存器 1个64位状态标志寄存器RFLAGS(只采用低32位),32位的称为EFLAGS 1个64位指令指针寄存器RIP,32位的称为EIP 8个64位MMX寄存器 16个128位XMM寄存器(32位模式只有8个XMM寄存器) 64位的通用寄存器可以访问8位,16位,32位和64位数据。 单条指令不能同时访问寄存器的高字节和低字节 在64位模式下,32位的EFLAGS寄存由64位的RFLAGS寄存器取代。但是共享低32位。 32位和64有相同的状态标志 汇编语言-X86处理器架构-64位x86处理器 标签:状态 start 字节 高达 指令 ati 细节 exp span 原文地址:https://www.cnblogs.com/beautiful7/p/13386643.html64位x86-64处理器
1 64位操作模式
2 基本64位执行环境
2.1 通用寄存器
操作位
可用寄存器
64位
RAX,RBX,RCX,RDX,RDI,RSI,RBP,RSP,R8,R9,R10,R11,R12,R13,R14,R15
32位
EAX,EBX,ECX,EDX,EDI,ESI,EBP,ESP,R8D,R9D,R10D,R11D,R12D,R13D,R14D,R15D
16位
AX,BX,CX,DX,DI,SI,BP,SP,R8W,R9W,R10W,R11W,R12W,R13W,R14W,R15W
8位
AL,BL,CL,DL,DIL,SIL,BPL,SPL,R8L,R9L......还有后缀把L改为R
2.2 细节处理
2.1 通用寄存器
2.2 细节处理