[assembly]domande di teoria ed esercizio mips

di il
2 risposte

[assembly]domande di teoria ed esercizio mips

Ciao a tutti sto da poco studiando da poco il linguaggio assembly e avrei alcune domande da porvi:
1)che differenza c'è tra srcivere il registro $s4 ed il registro $4?
2)nell'istruzione beq il campo ofsett è una costante o una parola?
cioè se ho il seguente esercizio:
0x00000AC8:
ori $8,$0,+15
and $9,$8,$0
beq $8,$9,-16
i registro $8 della beq contiene 15?poi il -16 del campo ofsett della beq,sono il numero di parole da saltare se $8==$9,o sono il numero di byte?

2 Risposte

  • Re: [assembly]domande di teoria ed esercizio mips

    Ciao
    risposte
    1) la differenza è abbissale perche $s4 è un registro a 64 bit mentre $4 rappresenta una parte del registro.
    se ben ricordo la codifica dovrebbe essere la seguente:
    ------------------------------------------------------
    $0 primo byte parte alta
    $1 secondo byte parte alta
    $2 terzo byte parte alta usato anche per la lettura della 1 word
    $3 quarto byte parte alta usato anche per la lettura della 2 word
    $4 serve per la lettura dword della parte alta
    $5 come $0 ma per la parte bassa usato anche per la lettura della 1 word
    $6 come $1 ma per la parte bassa
    $7 come $2 ma per la parte bassa
    $8 come $3 ma per la parte bassa
    $9 come $4 ma per la parte bassa
    ------------------------------------------------------------
    per recuperare la parte bassa di un registro basta usare l'istruzione
    mflo $t1 copia parte bassa nel registro temporaneo t1
    mentre per la parte alta
    mfhi $t2 copia parte alta nel registro temporaneo t2
    2) l'istruzione beq ha la seguente sintassi
    beq (branch if equal to) [istruzione]
    $8 parte bassa del registro
    $9 parte bassa del registro
    -16 costante
  • Re: [assembly]domande di teoria ed esercizio mips

    Ciao grazie 1000 per la risposta gentilissimo
Devi accedere o registrarti per scrivere nel forum
2 risposte