相关疑难解决方法(0)

装配 - CMP后的JG/JNLE/JL/JNGE

我不理解JG/JNLE/JL/JNGECMP之后的说明.

例如,如果我有:

CMP al,dl
jg label1
Run Code Online (Sandbox Code Playgroud)

al=101; dl =200.

我们问jg什么?是al>dl吗?还是al-dl>0

在下一个代码上相同的prolbem:

test al,dl
jg label1
Run Code Online (Sandbox Code Playgroud)

我不明白我们比较什么,以及我们问什么" jg".

换句话说,我不明白我们何时会跳转到label1,何时不会.

谢谢.

x86 assembly eflags

53
推荐指数
2
解决办法
12万
查看次数

汇编TEST指令如何与这些跳转指令一起使用?

使用AT&T汇编语法,我试图了解如何testl在汇编代码中使用.特别:

testl  %edx, %edx
jle    .L3
Run Code Online (Sandbox Code Playgroud)

我知道设置条件标志testl的位数and是否相同,但如果不比较两个值,我怎么能解释'如果小于或等于'则跳转?

x86 assembly conditional-statements

5
推荐指数
1
解决办法
9316
查看次数

是否可以用x86汇编语言编写if语句?

是否有可能在x86汇编语言中模仿if-statment(使用masm语法)?我想在x86汇编语言中做这样的事情,但我不确定我应该使用哪个运算符来模仿if-else语句.我应该使用jl指令,cmp指令还是其他指令?

int i = 2;
int j = 3;
if(i > j){
    i = 1;
}
else{
    i = 4;
}
Run Code Online (Sandbox Code Playgroud)

x86 assembly masm

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

assembly ×3

x86 ×3

conditional-statements ×1

eflags ×1

masm ×1