2

我在玩分支延迟槽。在 spim 上试过了。

j some
j a 
j b 
j c 
j d 
ori $9, $0, 13

some:
a:  
b:  
c:  
d:  

令我惊讶的是,它把 9 美元改为 13 美元。所以我的问题是延迟槽能否传播,或者这是一个垃圾邮件,不会发生在真正的 mips32 处理器上?如果这是预期的行为,有人可以给我一些关于那里发生的事情的启示吗?

4

2 回答 2

5

Mips states that placing branch instruction in to a branch delay slot leads to undefined results.

于 2010-11-28T20:15:08.037 回答
1

作为免责声明,我从未使用过真正的 MIPS 机器,但我想将分支延迟槽用于另一个分支几乎肯定会导致问题。像 MIPS 这样的处理器的一种常见做法是使用分支延迟槽进行无操作,例如ori $0, $0, 0,只是为了确保没有任何不应该执行的操作。

于 2010-11-28T06:44:58.310 回答