NAND логическая побитовая операция в ARM
Есть ли способ выполнить побитовую операцию NAND над битами в двух регистрах в ARM7, либо с существующими операциями AND, OR и EOR, либо с помощью других инструкций?
2 ответа
Решение
Конечно; И два регистра, а затем EOR результат со всеми 1 (для отрицания).
and
затем mvn
( не двигайся).
int nand(int a, int b) {
return ~(a & b);
}
nand(int, int):
and r0, r0, r1
mvn r0, r0
bx lr