Domanda

I stava giocando in giro con slot di ritardo ramo. Provato che in SPIM.

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

some:
a:  
b:  
c:  
d:  

Per la mia sorpresa è cambiato il $ 9-13. Quindi la mia domanda è: può un delay slot propagano o questa è una cosa SPIM e non accade su processori reali MIPS32? Se questo è il comportamento previsto Qualcuno può darmi un po 'di illuminazione su quello che sta succedendo lì?

È stato utile?

Soluzione

Come un disclaimer, non ho mai lavorato con una vera e propria macchina MIPS, ma immagino che l'utilizzo di uno slot ritardo ramo per altro ramo quasi certamente causare problemi. Una pratica comune su processori MIPS, come è quello di utilizzare lo slot ritardo ramo per una no-op, come ad esempio ori $0, $0, 0, solo per assicurarsi che esegue nulla che non si suppone.

Altri suggerimenti

Mips afferma che un'istruzione di salto messa in un ritardo ramo scanalatura porta a risultati non definiti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top