汇编语言中的跳转指令以及标志位总结

标志位

OF:Overflow,有符号溢出标志位。设置为1说明产生溢出,否则为0
DF:Direction,方向标志位,控制si/di 的增减。DF为0时,si/di递增;否则递减
IF :Interupt enable,中断允许标志位,设为1则接受外部中断,否则屏蔽外部中断。
SF:Sign,符号标志位。运算结果为正则设置SF=0,否则设置为1。
ZF:Zero,零标志位。指令执行后结果为0那么ZF=1,否则为0
AF:Auxiliary Carry,半进位标志。运算进位则设为1,否则设为0。(此处的进位是指二进制位,举个简单的例子,如 b01+b01,得到b10,此处则进位了)
PF:Parity,奇偶标志位。运算结果最后一位为1(即结果为奇数),则设置为0,否则设置为0
CF:Carry,进位标志位(无符号溢出标志位),若溢出则设置为1,否则设置为0

跳转指令

jmp [address] :无条件跳转指令


jcxz [address] :若cx为0则跳转
jecxz [address] :若ecx为0则跳转


je [address] :jump equal,比较结果相等则跳转(判断ZF,若为1则跳转)

jne [address]: jmp not equal,不相等则跳转


jz [address]:zf为1则跳转
jnz [address]:zf为0则跳转


此外,还有js,jns,jc,jnc,jo,jno,jp,jnp指令,分别根据sf,cf,of,op的值不同进行跳转,规则同jz不再阐述


ja [address]:无符号大于则跳转
jna [address]:无符号不大于则跳转
jnae [address]:无符号不大于等于则跳转


jg表示有符号大于则跳转,jb表示无符号小于则跳转,jl表示有符号小于则跳转,jng,jnge,jnb,jnbe,jnl,jle,jnle同上类比

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值