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