部分汇编指令和寄存器名称解释

部分汇编指令和寄存器名称解释

汇编跳转指令

JZ : jump if zero flag 如果 z 标志被置一则跳转
JE:jump if equal 如果相等则跳转,cmp eax,ecx. 如果两者相等z 标志也会被置一。所以 JE 其实等价JZ
JNE:jump if not equal 如果不相等则跳转
JNZ:jump if not zero 如果不为零跳转

JS: jump if singed 如果带符号则条状,如果操作数带符号则 S 标志会被置一
JNS: jump if not singed 以 JS 相反

JP: jump if parity 如果 P 标志被置一则跳转。
补充一下 P 标志是干嘛用的:Some CPUs (notably x86 CPUs) feature a parity flag on their status register. This flag indicates whether the number of bits of the result of an operation is odd or even.(操作数 含一的比特位 的数量是否为偶数,如果是偶数则 P 置一)
参考链接:https://stackoverflow.com/questions/25707130/what-is-the-purpose-of-the-parity-flag-on-a-cpu#:~:text=The%20Parity%20Flag%20is%20a%20relic%20from%20the,employed%20by%20telegraphs%20and%20other%20serial%20communication%20protocols.
JPE: jump if parity even 效果同 JP 如果是1 的比特位 偶数则 pairty 置一,JPE 跳转

JNPE & JNP 作用相同,上面两个指令相反的条件跳转

JO: jump if overflow , 如果溢出则跳转
JB:jump if below 用于不带符号数的大小比较,如果第一个数比第二个数小则跳转。进位标志位。在无符号运算时,记录了运算结果的最高有效位向更高位的进位值或从更高位借位,产生进位或借位时CF=1,否则CF=0;这个指令和C 标志位也有关系
JNB:jump if not below.跳转条件和 JB 相反。
JL:jump if less than 用于带符号数比较大小。如果溢出标志位和符号标志位不同则发生跳转
JBE: jump if below or equal 如果 C 标志或者 Z 标志为1 则跳转
JNBE : jump if not below or equal 跳转条件和 JBE 相反
参考链接:https://stackoverflow.com/questions/53451732/js-and-jb-instructions-in-assembly

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值