cmp %al, %cl
js x
我对 js(跳上标志)在做什么感到困惑。是说如果 al 为正,cl 为负,反之亦然,则跳转?
另外,如果 %cl 为 0 或者里面什么都没有,会发生什么?
谢谢!
最佳答案
JS
如果设置了符号标志(通过较早的指令),则将跳转。 CMP将始终通过执行减法来修改标志,在这种情况下 %al - %cl
. (假设 Intel 语法,而不是 AT&T)。
由于指令的长度,符号将是表达式 %al-%cl 的第 7 位(并被丢弃)。
如果 %cl == 0,则临时值将是 %al,并且符号将是寄存器 %al 的符号。因此,如果 %al 为负,则进行跳转。
这是一个 reference对于所有条件跳转。
关于assembly - JS 在 Assembly x86 中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21872334/