Assembly ARM中的NAND逻辑位运算
有没有办法使用现有的AND、OR和EOR操作或其他指令对ARM7中两个寄存器中的位执行逐位NAND操作?当然;和两个寄存器,然后用所有1对结果进行EOR(求反)。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
和
然后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