汇编中的通用寄存器、标志寄存器、段寄存器

本文详细介绍了汇编语言中的通用寄存器,如EAX、ECX、EDX等,它们在不同场景下的作用;标志寄存器中的CF、OF、ZF等如何指示运算状态;以及段寄存器如CS、DS、SS等在内存管理中的角色。这些寄存器对于理解和编写汇编程序至关重要。

通用寄存器:

   寄存器和变量差不多,目的都是用于保存一些即将操作的数据

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

<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值