Linux中有关i386寄存器的思维导图,包括通用寄存器、段寄存器、状态和控制寄存器、系统地址寄存器、调试寄存器和测试寄存器
树图思维导图提供 i386寄存器思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 i386寄存器思维导图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:f1f80e9bc9e770826dee720b116b256a
i386寄存器思维导图思维导图模板大纲
EAX:一般用作累加器
ECX:一般用来计数(Count)
EDX:一般用来存放数据(Data)
EBP:一般用作基址指针(Base Pointer)
EBP:一般用作堆栈指针(Stack Pointer)
ESI:一般用作源变址(Source Index)
EDI:一般用作目标变址(Destinatin Index)
CS:代码段寄存器
DS:数据段寄存器
SS:堆栈段寄存器
ES、FS 及 GS:附加数据段寄存器
指令指针寄存器和标志寄存器
指令指针寄存器(EIP)中存放下一条将要执行指令的偏移量(offset ),这个偏移量是相对于目前正在运行的代码段寄存器(CS)而言的
偏移量加上当前代码段的基地址,就形成了下一条指令的地址
控制寄存器
状态和控制寄存器组有 EFLAGS、EIP
有 4 个 32 位的控制寄存器,它们是 CR0,CR1、CR2 和 CR3
CR1 是未定义的控制寄存器,供将来的处理器使用
CR2 是页故障线性地址寄存器,保存最后一次出现页故障的全 32 位线性地址
CR3 是页目录基址寄存器,保存页目录表的物理地址
页目录表总是放在以 4KB 为单位的存储器边界上
地址的低 12 位总为 0,不起作用,即使写上内容,也不会被理会
全局描述符表寄存器 GDTR(Global Descriptor Table Register )
48 位寄存器,用来保存全局描述符表(GDT)的 32 位基地址和 16 位 GDT 的界限
中断描述符表寄存器 IDTR(Interrupt Descriptor Table Register)
是 48 位寄存器,用来保存中断描述符表(IDT)的 32 位基地址和 16 位 IDT 的界限
局部描述符表寄存器 LDTR(Global Descriptor Table Register )
是 16 位寄存器,保存局部描述符表 LDT 段的选择符
任务状态寄存器 TR(Task State Register)
是 16 位寄存器,用于保存任务状态段TSS 段的 16 位选择符
调试寄存器
80386 为调试提供了硬件支撑
测试寄存器
80386 有两个 32 位的测试寄存器 TR6 和 TR7