IA32中寄存器:
把16位的通用寄存器、标志寄存器以及指令指针寄存器扩充为32位的寄存器
段寄存器仍然为16位。
增加4个32位的控制寄存器
增加4个系统地址寄存器
增加8个调式寄存器
增加2个测试寄存器
通用寄存器: omitted
段寄存器:
因为是16位的,不能存放32位的段基址,所以存的是段选择符,而基址则存在段描述符表中。
状态和控制寄存器:
EFLAGS --- 标志寄存器 主要关注其中的TF IOPL IF (sti cli) DF NT VM
EIP ---指令指针 存放下一条将要执行指令的偏移量(相对于cs)EIP中的低16位叫指令指针IP寄存器,用于16位寻址
CR0 ---机器状态字 CR0中包含了6个预定义标志,0位是保护允许位PE(Protedted Enable),如果PE位置1,则保护模式启动,如果PE=0,则在实模式下运行 。CR0的第31位是分页允许位(Paging Enable),它表示芯片
上的分页部件是否允许工作
CR1 ---Intel保留
CR2 ---页故障地址 保存最后一次出现页故障的全32位线性地址
CR3 ---页目录地址 保存页目录表的物理地址,页目录表总是放在以4K字节为单位的存储器边界上,因此,它的地址的低12位总为0
系统地址寄存器:
IA32有4个系统地址寄存器: GDTR (32+16 = 48 bits) IDTR(32bits + 16bits) TR(16bits) LDTR(16bits)
这几个寄存器相当重要。
调试寄存器和测试寄存器
把16位的通用寄存器、标志寄存器以及指令指针寄存器扩充为32位的寄存器
段寄存器仍然为16位。
增加4个32位的控制寄存器
增加4个系统地址寄存器
增加8个调式寄存器
增加2个测试寄存器
通用寄存器: omitted
段寄存器:
因为是16位的,不能存放32位的段基址,所以存的是段选择符,而基址则存在段描述符表中。
状态和控制寄存器:
EFLAGS --- 标志寄存器 主要关注其中的TF IOPL IF (sti cli) DF NT VM
EIP ---指令指针 存放下一条将要执行指令的偏移量(相对于cs)EIP中的低16位叫指令指针IP寄存器,用于16位寻址
CR0 ---机器状态字 CR0中包含了6个预定义标志,0位是保护允许位PE(Protedted Enable),如果PE位置1,则保护模式启动,如果PE=0,则在实模式下运行 。CR0的第31位是分页允许位(Paging Enable),它表示芯片
上的分页部件是否允许工作
CR1 ---Intel保留
CR2 ---页故障地址 保存最后一次出现页故障的全32位线性地址
CR3 ---页目录地址 保存页目录表的物理地址,页目录表总是放在以4K字节为单位的存储器边界上,因此,它的地址的低12位总为0
系统地址寄存器:
IA32有4个系统地址寄存器: GDTR (32+16 = 48 bits) IDTR(32bits + 16bits) TR(16bits) LDTR(16bits)
这几个寄存器相当重要。
调试寄存器和测试寄存器
浙公网安备 33010602011771号