了解x86-32硬件-寄存器
了解x86-32硬件-寄存器
08386的寄存器可以分为8组
- 通用寄存器
- 段寄存器
- 指令指针寄存器
- 标志寄存器
- 控制寄存器
- 系统地址寄存器
- 调试寄存器
- 测试寄存器
通用寄存器
- EAX: 累加器
- EBX: 基址寄存器
- ECX: 计数器
- EDX: 数据寄存器
- ESI: 源地址指针寄存器
- EDI: 目的地指针寄存器
- EBP: 基址指针寄存器
- ESP: 堆栈指针寄存器
段寄存器
- CS: 代码段(Code Segment)
- DS: 数据段(Data Segment)
- ES: 附加数据段(Extra Segment)
- SS: 堆栈段(Stack Segment)
- FS: 附加段
- GS: 附加段
指令寄存器和标志寄存器
EIP: 指令寄存器
EIP的低16位就是8086的IP,它存储的是下一条要执行指令的内存地址,在分段地址转换中,表示指令的段内偏移地址。
EFLAGS: 标志寄存器
IF(Interrupt Flag):中断标志位,由CLI,STI两条指令来控制;设置IF使CPU可识别外部(可屏蔽)中断请求。复位IF则禁止中断。IF对不可屏蔽外部中断和故障中断的识别没有任何作用。
CF,PF,ZF,…