[理工] 計組 擬直接定址法 pseudodirect

看板Grad-ProbAsk作者 (沒有暱稱)時間8年前 (2016/03/23 23:59), 編輯推噓2(209)
留言11則, 2人參與, 最新討論串1/1
書上說 pc最高四位+後面28位可以組成要跳的位址(byte) 是不是不能往位址退位或進位的方向跳? 跳躍指令在xx10+28位 不能跳回xx01+28位 反之 xx01+28位也不能跳到xx10+28嗎? 還是說通常指令都不會超過64,000,000行(256MB) 所以之後的就不重要了。 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.25.205 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1458748752.A.BE4.html

03/24 00:05, , 1F
(0000 ~ 1111) + 28位都只能在各自的位址範圍內跳
03/24 00:05, 1F

03/24 00:06, , 2F
不能互跨, 這是mips jump指令的規則
03/24 00:06, 2F

03/24 08:15, , 3F
那指令剛好有跨要靠其他定址法解決?這情況的判斷是編譯
03/24 08:15, 3F

03/24 08:15, , 4F
器還是人?
03/24 08:15, 4F

03/24 09:57, , 5F
當然是靠編譯器解決, 要跨就先用branch, 才有辦法
03/24 09:57, 5F

03/24 09:59, , 6F
不過編譯器大部分是 virtual address
03/24 09:59, 6F

03/24 10:00, , 7F
實際有跨可能是靠MMU/OS/CPU這類的狀況跨過去的
03/24 10:00, 7F

03/24 10:01, , 8F
看你的硬體架構而定, 如果是課本那種簡單的mips
03/24 10:01, 8F

03/24 10:01, , 9F
就沒有virtual address這種事情, 那誰解決都沒有差別
03/24 10:01, 9F

03/24 10:02, , 10F
反正CPU一定照指令來執行程式
03/24 10:02, 10F

03/24 16:56, , 11F
感謝解答!
03/24 16:56, 11F
文章代碼(AID): #1MyhrGla (Grad-ProbAsk)