【发布时间】:2014-06-15 17:14:08
【问题描述】:
在广阔的装配世界中,我是一个完全的初学者,在学习的过程中我遇到了一个奇怪的事情。
条件跳转是在标志检查的基础上完成的,以查看某些运算符的比较。但是,似乎有两种不同的方法可以进行检查。对于几乎每条条件跳转指令,似乎都有一个对应物执行完全相同的操作,只是符号不同。例如,je 似乎与 jz 相同。据我所知,如果在指令之前比较两个操作数设置零标志,这两条指令都会跳转。这里的说明有什么区别。一个比另一个更有效吗?是否会产生更多开销?区分仅仅是为了可读性吗?
还有一些其他指令似乎也相同:
-
loopz/loope -
jb/jc -
jnz/jne
【问题讨论】:
-
使用
assembly标签时,您还应该使用适当的架构标签。 “汇编”不是一些通用的独立于架构的编程语言。
标签: assembly x86 comparison instructions