首页 > 解决方案 > x86 汇编器对存储在寄存器中的布尔值进行分支

问题描述

我知道如何在汇编中执行以下 if 语句:

if(5 > 0){
  print("5 > 0");
 }



     mov $5, %ax
     mov $0, %bx
     cmp %ax, %bx
     jl t
     jge f
t: call print blah
     jmp next
f:  ...
next: ...

但我试图在 x86 汇编器中做这样的事情:

boolean x = 5 > 0;
if(x) {
 print("5 > 0");
}

当我存储关系运算结果并在以后使用时,如何正确获取 jmp 条件?

标签: assemblyx86

解决方案


推荐阅读