В моем учебнике есть такие строки кода:
addu $t0, $t1, $t2
nor $t3, $t1, $zero
sltu $t3, $t3, $t2
bne $t3, $zero, Overflow
Я понимаю функцию addu, но когда я добираюсь до функции nor и всего остального после этого, я не понимаю, что она делает. В учебнике просто сказано, что t3 = дополнение 2 к t1 - 1 для второй строки, но я не понимаю, как это работает в двоичном формате. Будет ли он просто переключать все 0 на 1 и наоборот, а затем интерпретировать это как дополнение до 2, что приведет к отрицательному числу? Объяснение книги не имеет смысла для меня.