我想要更好地理解程序集,並且我不確定i
(立即)如何發揮BNE
的作用。請原諒noobness。BNE - I型指令 - '我'在哪裏發揮作用?
如果BNE
這樣寫的:
BNE $1, $2, loop
這意味着「轉到循環,如果$1
不等於$2
」那麼我假定循環是即時的一部分。正確?
這只是一個程序計數器或循環的位置?所以,如果循環被設置爲一些指令的數量(我們只是稱之爲0x0001
),這個循環地址(或指令計數)是否設置在這個i
?
也許會更好,如果我寫出來像這樣...
opcode = 5 | reg1 = whatever addr | reg2 = whatever addr | immediate = 0x0001
該設置是否正確,還是我真的很迷茫?
引用編程器MIPS32TM架構第II卷:MIPS32TM指令集BNE:將18位有符號偏移量(16位偏移量位移左2位)添加到分支後指令的地址(而不是分支本身)在分支延遲時隙中形成PC相對有效目標地址。如果GPR rs和GPR rt的內容不相等,則執行延遲時隙中的指令後,轉移到有效目標地址。# – EOF