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は、分岐命令を分岐遅延スロットに配置すると、未定義の結果が生じると述べています。

于 2010-11-28T20:15:08.037 に答える
1

免責事項として、私は実際のMIPSマシンで作業したことはありませんが、別のブランチにブランチ遅延スロットを使用すると、ほぼ確実に問題が発生すると思います。MIPSのようなプロセッサでの一般的な方法の1つは、などのノーオペレーションに分岐遅延スロットを使用して、ori $0, $0, 0想定外の実行が行われないようにすることです。

于 2010-11-28T06:44:58.310 に答える