汇编编程中跳转语句的区别

ruc*_*twa 4 x86 assembly

你如何决定何时使用哪个跳转语句...如JG JNLE JNC这样的语句可以做同样的工作你如何区分它们?

Ric*_*ton 5

你提到的跳转都是条件代码值的跳转.

JG和JNLE是相同的:它们具有相同的操作码并执行相同的操作.一个是"如果大于"则跳跃,另一个是"跳跃,如果不小于或等于".想一想.这些是已签名的分支,这意味着它们在确定是否分支时会考虑符号标记.

JNC表示"如果没有携带就跳".如果未设置进位标志,它将跳转.Carry通常用于检测算术溢出,例如在添加2个无符号整数时.