如何在汇编中编写这样的if
语句?
if ((a == b AND a > c) OR c == b) { ...
平台:Intel 32位计算机,NASM语法。
更新资料
对于变量类型和值,请使用更易于理解的内容。我想整数对我来说很好。
最佳答案
在通用汇编中,基本上是这样的(a
中的ax
,b
中的bx
,c
中的cx
):
cmp bx, cx
jeq istrue
cmp ax, cx
jle isfalse
cmp ax, bx
jeq istrue
isfalse:
; do false bit
jmp nextinstr
istrue:
; do true bit
nextinstr:
; carry on
如果没有错误,可以简化为:
cmp bx, cx
jeq istrue
cmp ax, bx
jne nextinstr
cmp ax, cx
jle nextinstr
istrue:
; do true bit
nextinstr:
; carry on
关于assembly - 汇编中的复杂IF语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14292903/