我知道如何手动将两个补码转换为基数10。
http://sandbox.mc.edu/~bennet/cs110/tc/tctod.html
如链接所示。您可以通过第一位判断数字是负数还是正数,所以我的想法是因为数字是8位,我将二进制或十六进制0x00000080除以1000 0000。
有没有人有更好的解决方案,因为现在这对我不起作用,我的代码位于底部。寄存器1是二进制补码的位置。
lis $ 8 .word 0x00000080
div $ 1,$ 8
mflo $ 9
31美元
答案 0 :(得分:0)
首先你可以创建Not of the变量,MIPS没有内置但是你可以使用Xor来获取它(使用addi将寄存器的值设置为-1并在寄存器上使用xor被否定和其中的-1的寄存器,它存储所有的1)
之后,只需添加1即可。