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

作者: anoymouse (沒有暱稱)   2016-03-23 23:59:10
書上說 pc最高四位+後面28位可以組成要跳的位址(byte)
是不是不能往位址退位或進位的方向跳?
跳躍指令在xx10+28位 不能跳回xx01+28位 反之 xx01+28位也不能跳到xx10+28嗎?
還是說通常指令都不會超過64,000,000行(256MB) 所以之後的就不重要了。
謝謝!
作者: OppOops (Oops)   2016-03-24 00:05:00
(0000 ~ 1111) + 28位都只能在各自的位址範圍內跳不能互跨, 這是mips jump指令的規則
作者: anoymouse (沒有暱稱)   2016-03-24 08:15:00
那指令剛好有跨要靠其他定址法解決?這情況的判斷是編譯器還是人?
作者: OppOops (Oops)   2016-03-24 09:57:00
當然是靠編譯器解決, 要跨就先用branch, 才有辦法不過編譯器大部分是 virtual address實際有跨可能是靠MMU/OS/CPU這類的狀況跨過去的看你的硬體架構而定, 如果是課本那種簡單的mips就沒有virtual address這種事情, 那誰解決都沒有差別反正CPU一定照指令來執行程式
作者: anoymouse (沒有暱稱)   2016-03-24 16:56:00
感謝解答!

Links booklink

Contact Us: admin [ a t ] ucptt.com