寄存器与指令

最近看汇编语言,顺便整理一下学了的指令以及寄存器,后面会逐步整理整理完善

寄存器(register)

通用寄存器(General Purpose Registers,8个)

通用寄存器是一种通用型寄存器,用于传送和暂存数据,也可以参与算术逻辑运算,并保存运算结果。

寄存器 功能
16位 32位
AX EAX 累加器
BX EBX sdfa
CX ECX
DX EDX
EBP
ESP
ESI
EDI

段寄存器(Segment Registers,16位,6个)

寄存器 功能
CS 代码段寄存器
DS 数据段寄存器
SS 栈段寄存器
ES 附加(数据)段寄存器
FS 数据段寄存器
GS 数据段寄存器

程序状态与控制寄存器(Program Status and Control Registers,32位,1个)

EFLAGS:标志位寄存器

EFLAGS是32位的寄存器,该寄存器的每位都有意义,每位的值为0或1代表On/Off或True/False,其中有些位由系统直接设定,有些位则 根据程序指令的执行结果来设定

指令指针寄存器(Instruction Pointer,32位,1个)

指令

指令(instruction) 功能

更多内容请参考Intel开发者手册:
https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf

click here to show comments