[理工] branch, jump問題

作者: clonsey1314 (Clonsey)   2017-08-24 22:41:28
假設一個instruction如下:
beq $s1, $s2, L1
假使L1位址在(PC+4)再跳2個instructions(+8)
如果我L1不用label表示,用數字表示
那L1那格的位址是要寫2,還是寫L1的絕對位址(PC+12)?
如果是jump的話
例如: j L1
如果L1要寫數字的話,是要寫L1的pseudo-address嗎?還是L1的絕對位址?
作者: sarsman (DeNT15T♠)   2017-08-24 22:54:00
beq相對位址, j填去掉左4bits右2bits的絕對位址
作者: lingege32 (MUDA)   2017-08-26 00:19:00
Beq bne的相對位置是指令的相對位置而非記憶體的所以你那個100000是指要跳到之後第32個指令所以是pc+4+32*4

Links booklink

Contact Us: admin [ a t ] ucptt.com