n и побитовая операция в сборке MIPS
Я пытался выяснить, как сделать битовую операцию nand в сборке, но безуспешно. Я пытался написать симулятор логических элементов, который будет по существу производить эту таблицу истинности для входов A и B
A | B || F ----------------- вот | вот || Привет вот | привет || Привет привет | вот || Привет привет | привет || вот
Я перепробовал все.
и $t3,$t1,$t не $t4,$t3
Не выдает правильный вывод
1 ответ
Конечно, посмотрите на таблицу правды:
A B And Nand
---------------------
lo lo lo hi
lo hi lo hi
hi lo lo hi
hi hi hi lo
Как видите, вы можете получить значения nand, отрицая ранее добавленные значения. Но вы, возможно, забыли, что and
а также not
работать с каждым битом регистров. Я думаю, что вы перепутали с логическими значениями, где (обычно) любое ненулевое значение считается истинным. Следовательно,
11101001 nand 01000111 =
= ~ (11101001 and 01000111) =
= ~ 01000001 =
= 10111110
так как
1 and 0 = 0
1 and 1 = 1
1 and 0 = 0
0 and 0 = 0
1 and 0 = 0
0 and 1 = 0
0 and 1 = 0
1 and 1 = 1
В следующий раз вы должны опубликовать как ожидаемые, так и фактические результаты, чтобы нам было легче понять, что пошло не так.