« Forum anonimo (sperimentale)

Dubbio BEQ

1 reply
Last
Nelle domande dove viene dato uno spezzone di codice e si chiede di indicare il calore dei 16 bit meno significativi dell'istruzione BEQ, come ad esempio:

.text
.globl main
main:
    beq $9, $8, L1
    add $16, $16, $16
    L1:
     sub $15,$16, $16

Quale sarebbe la risposta? 8 oppure 2?

Perché 8 sarebbe la somma dei byte delle istruzioni che salta, ma invece, provando su QtSpim la traduzione dell'istruzione mette negli ultimi 16 bit il valore 2 (le istruzioni che salta)

1 reply
  1. Re: Dubbio BEQ

    Anche se un po' fuori tempo massimo, ecco la mia (ultima) risposta: su 8 rispetto a 2 guardi (libro, forum, lezioni, esercitazioni, etc.) la questione dei 2 bit a zero sottintesi quando il target address punta ad una istruzione. Circa invece il supposto valore corretto 2: guardi che qui c'è un problema di spim, pensavo fosse stato corretto diverse versioni fa, ma adesso vedo che ancora la questione non torna: se il PC punta alla add mentre sta eseguendo la beq, allora il salto dovrebbe essere di UNA istruzione. Ricordo che avevamo già notato e segnalato all'autore che spim faceva il conto dell'offset rispetto al valore non aggiornato del PC, un errore che deduco ancora non sia stato corretto.