在x86指令集中,经常遇到test指令与条件跳转指令组合,这是什么含义呢?
博主表示,查了很多资料也没人完全说清楚……
这里只用最简单的,抽象层次进行说明,不讲原理。
举例
test edx,edx
jle 某地址
Jetbrains全家桶1年46,售后保障稳定
含义是:如果edx <= 0,就跳到某地址,否则继续往下执行。
jle换成jg的话,就是edx > 0跳转。
其他同理。
与cmp指令和跳转指令组合的区别是:这个组合比较的是cmp A,B中,A与B的关系。
而test A,A则比较的是A与0的关系。
这些都是抽象层次的应用,具体原理还需要详细研究,这里不展开。
