作者fmtshk (fmtshk)
看板Grad-ProbAsk
标题[理工] 计组_p.98_31
时间Tue Jul 16 13:00:45 2019
https://i.imgur.com/rJ3QaWv.jpg
请问31题那个0x20
为什麽它不是八码?
那个等同0x00000020的意思吗?
记得J指令跳的时候是绝对位置
beq是相对位置对吧?
所以它是说它要跳到0x20吗?
另外下面的机器码[31-28]跟我差表的jump不太一样? 我查是000/010
好像搞错了什麽
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.241.215.58 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1563253247.A.FC3.html
1F:→ jeff1ou: 指令因为bit已经对齐好 把後面的2个bit扣掉 你在还原要加 07/16 13:07
2F:→ jeff1ou: 回去2个bit 07/16 13:07
3F:→ jeff1ou: 31到28是block的编号 你在j系列指令跳跃的时後 都是在这 07/16 13:11
4F:→ jeff1ou: 个block里面移动 不会改变 所以在下指令时 把这4bit拿掉 07/16 13:12
5F:→ jeff1ou: 这不是opcode欧 07/16 13:12
6F:推 mistel: 你把地址跟暂存器里面的值搞混了喔 0x20是跳过去的地址无 07/16 13:50
7F:→ mistel: 误 07/16 13:50
8F:推 mistel: 前面四个bit是block,同一个block跳跃会一样,去掉,再把 07/16 14:02
9F:→ mistel: 後面两个bit去掉,因为word address一次都是跳4所以後面 07/16 14:02
10F:→ mistel: 两个0可以去掉 07/16 14:02
11F:推 mistel: 所以要得到跳过去的值就是反向做就好了 有错请楼下指正 07/16 14:05
12F:推 ekids1234: 乾我也怀疑了一下,0x20是16进制哦,别把他想成一般看 07/16 14:31
13F:→ ekids1234: 的十进制 07/16 14:31