Assembly ARM中的NAND逻辑位运算

Assembly ARM中的NAND逻辑位运算,assembly,arm,bitwise-operators,arm7,Assembly,Arm,Bitwise Operators,Arm7,有没有办法使用现有的AND、OR和EOR操作或其他指令对ARM7中两个寄存器中的位执行逐位NAND操作?当然;和两个寄存器,然后用所有1对结果进行EOR(求反)。和然后mvn() 从 请注意,eor r0、#-1不可编码;你需要一个寄存器中的all ones常量。这就是mvn成为更好选择的原因。 int nand(int a, int b) { return ~(a & b); } nand(int, int): and r0, r0, r1 mvn r0, r

有没有办法使用现有的AND、OR和EOR操作或其他指令对ARM7中两个寄存器中的位执行逐位NAND操作?

当然;和两个寄存器,然后用所有1对结果进行EOR(求反)。

然后
mvn
()

请注意,
eor r0、#-1
不可编码;你需要一个寄存器中的all ones常量。这就是
mvn
成为更好选择的原因。
int nand(int a, int b) {
    return ~(a & b);
}

nand(int, int):
    and r0, r0, r1
    mvn r0, r0
    bx  lr