作者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/m.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