[理工] 計組_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