通用寄存器:
寄存器和变量差不多,目的都是用于保存一些即将操作的数据
EAX(accumulator) 寄存器:扩展累加寄存器(一般在乘/除中会被主动调用),也可以用于其他用途
ECX(Count) 寄存器:循环计数器,多数情况下可以作为其他用途
EDX(Data) 寄存器:数据寄存器,常用来存放八字长数据的高32位,可以作为其他用途
EBX(Base) 寄存器:基址寄存器,常用来存放存储器地址,可作为其他用途
ESP(stack pointer) 寄存器:指向堆栈(最上面栈帧的栈顶),绝大多数情况不可作为他用
EBP(base pointer) 寄存器:指向最上面一个栈帧的栈顶的底部,一般情况不作为他用。
ESI(source index) 寄存器:扩展源指针(由高速内存数据传送指令使用),可以作为他用
EDI(destination index) 寄存器:扩展目的指针(由高速内存数据传送指令使用),可以作为他用
EIP 寄存器:指令指针(下一条要执行的指令地址),几乎不可以挪作他用
标志寄存器
CF (Carry Flag) 进位标志,当最高位发生进位或借位时为1,可用于检测无符号数二进制加减法运算时是否发生溢出(溢出时 CF=1)
OF (Overflow Flag) 溢出标志 记录运算结果是否超出机器能表示的范围,如果超出则置为1.可用于检测带符号数运算时是否发生溢出(溢出时OF=1)
ZF (Zero Flag) 零标志 记录运算结果是否为0,如果为0则置为1,如果不为0,则置为0
<
本文详细介绍了汇编语言中的通用寄存器,如EAX、ECX、EDX等,它们在不同场景下的作用;标志寄存器中的CF、OF、ZF等如何指示运算状态;以及段寄存器如CS、DS、SS等在内存管理中的角色。这些寄存器对于理解和编写汇编程序至关重要。
最低0.47元/天 解锁文章
8169

被折叠的 条评论
为什么被折叠?



