64位架构把通用寄存器的个数扩展到16个,之前的8个通用寄存器也被扩展成了64位,每个寄存器的低8位、16位、32位都可以单独使用。寄存器结构设计如表1-4所示。
表1-4 64位架构下16个通用寄存器的结构设计
指令指针EIP被扩展为64位的RIP,但依然不能在代码中直接引用。标志寄存器EFLAGS被扩展为64位的RFLAGS,里面的标志位保持向前兼容。
内存地址也扩展到了64位,实际上目前的硬件只使用了低48位,在1.3节介绍内存分页机制时会进行相关说明。