在我的教科书中,有以下几行代码:
addu $t0, $t1, $t2
nor $t3, $t1, $zero
sltu $t3, $t3, $t2
bne $t3, $zero, Overflow
我理解addu功能,但是当我接触到nor函数和之后的所有内容时,我不明白它的作用。教科书只是说t3 =第二行的t1 - 1的2补码,但我不明白它是如何在二进制中起作用的。是否只是为1换掉所有0,反之亦然,然后将其解释为2的补码,导致负数?这本书的解释对我来说没有意义。
答案 0 :(得分:3)
是nor
- 使用$zero
的值只是反转所有位。例如,二进制101011
和-ed-ed,结果为二进制010100
。这也是汇编程序伪操作not
可以实现的一种方式。