assembly - jmp 和 ja 有什么区别?

标签 assembly x86

根据我的理解,jmp 执行无条件跳转,而 ja 如果值无符号则跳转。我的理解对吗?

如果有一个例子,我们将不胜感激。

最佳答案

您说得对,jmp 执行的是无条件跳转。

不过,您对 ja 的描述不正确。它根据最近的 cmp 操作的结果执行条件跳转。如果第一个操作数大于第二个操作数,则使用无符号比较而不是有符号比较来跳转。 jg 将使用有符号比较。

关于assembly - jmp 和 ja 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19915374/

相关文章:

linux - 在不使用弹出操作的情况下读取数据是否有优势?

c - 程序集与 C 可执行文件大小

linux - 删除 Linux 程序集 x86 中的文件

assembly - 混合使用EVEX和VEX编码方案的代价是什么?

x86 - 为实模式设置分页到 64 位长模式切换

assembly - 栅栏如何原子化加载-修改-存储操作?

c - 为什么C编译为汇编而不是二进制?

gcc - GCC 上 x86 intel asm 方括号前的偏移量

assembly 线困惑 $lea 0xffffffe8(%ebp)$

x86 - 如何从程序中访问控制寄存器 cr0,cr2,cr3?得到段错误