首页 热点专区 义务教育 高等教育 出国留学 考研考公

MIPS指令能否操作32位立即数

发布网友

我来回答

1个回答

热心网友

因为addi的立即数是有符号数,如果原数的第16位为1,那么在addi中将会变成负数,最终结果就不对。
但是如果你想用addi也是可以的,只要在取高16位的时候再加上第16位的数就行了。
如果原数第16位是0,那么直接addi没事
比如你说的0x1025A152,用addi就错了,因为A是1010.
不过可以在取"1025"的时候加上原数的第16位,也就是1,这样在addi的时候减去A152就正好
加了2^16,再减去A152(要变成补码)
因为+2^16 - (2^16 - (A152原码的绝对值)) = A152原码的绝对值
所以正确了。追问非常感谢。 那ori是不是没有影响?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com