[理工] 计组_p.98_31

楼主: fmtshk (fmtshk)   2019-07-16 13:00:45
https://i.imgur.com/rJ3QaWv.jpg
请问31题那个0x20
为什么它不是八码?
那个等同0x00000020的意思吗?
记得J指令跳的时候是绝对位置
beq是相对位置对吧?
所以它是说它要跳到0x20吗?
另外下面的机器码[31-28]跟我差表的jump不太一样? 我查是000/010
好像搞错了什么
作者: jeff1ou (子毛)   2019-07-16 13:07:00
指令因为bit已经对齐好 把后面的2个bit扣掉 你在还原要加回去2个bit31到28是block的编号 你在j系列指令跳跃的时后 都是在这个block里面移动 不会改变 所以在下指令时 把这4bit拿掉这不是opcode欧
作者: mistel (Mistel)   2019-07-16 13:50:00
你把地址跟暂存器里面的值搞混了喔 0x20是跳过去的地址无误前面四个bit是block,同一个block跳跃会一样,去掉,再把后面两个bit去掉,因为word address一次都是跳4所以后面两个0可以去掉所以要得到跳过去的值就是反向做就好了 有错请楼下指正
作者: ekids1234 (∵:☆星痕╭☆)   2019-07-16 14:31:00
干我也怀疑了一下,0x20是16进制哦,别把他想成一般看的十进制

Links booklink

Contact Us: admin [ a t ] ucptt.com