在68k语言中使用AND和OR

时间:2015-10-25 16:23:23

标签: assembly boolean-logic 68000

我需要这样的东西:

if((ch > 'g' && ch < 'm') || (A >= 0 && A <= 100)) {
    // Do some stuff
} else {
    // Do some other stuff
}

ch是一个8位字符,而A是32位整数。

我怀疑我需要这段代码:

CMPI.B    #$67, ch
BLT       SOMELABEL

CMPI.B    #$6D, ch
BGT       SOMELABEL

CMPI.W    #0, A
BLE       SOMELABEL

CMPI.W    #100, A
BGE       SOMELABEL

如何使用OR和AND运算符组合这些?

1 个答案:

答案 0 :(得分:2)

不要使用所有条件分支创建意大利面条代码,而应考虑使用id命令,其中cc是条件。如果条件为真,则此命令将目标字节设置为$ FF,否则为零。所以你可以得到这样的代码:

Scc