[ASSEMBLY MIPS] Verificare pari e dispari

di il
3 risposte

[ASSEMBLY MIPS] Verificare pari e dispari

Buon Pomeriggio Ragazzi, volevo sapere una delucidazione per quanto riguarda il verificare se il contenuto di un registro é pari o dispari in Assembly
Per verificare che se é pari o dispari viene effettuata la seguente istruzione:

ANDI $3,$2, 1
BNE $3,$0, n istruzioni da saltare

Qual'é il procedimento preciso che viene fatto e perché viene fatto l'and con 1?
E poi perché viene utilizzata la BNE al posto della BEQ? (so che BNE salta se sono diversi)
non riesco proprio a capire, scusatemi la domanda abbastanza banale, vi ringrazio in anticipo!

3 Risposte

  • Re: [ASSEMBLY MIPS] Verificare pari e dispari

    Quando e' che un numero e' PARI?

    Come si puo' calcolare il RESTO di una divisione per 2 IN MODO EFFICIENTE? C'e' un trucco trochettoso MOOLTO semplice

    Come funziona l'operatore AND?

    RAGIONA

    E' semplice
  • Re: [ASSEMBLY MIPS] Verificare pari e dispari

    AND restituisce 1 se i valori messi a confronto coincidono, in questo caso il registro $2 e la costante 1,
    se il risultato dell' and é 1 allora poiché viene confrontato con $0 salta poiché i valori dei registri sono diversi, ma non capisco davvero il perché, e davvero non ci arrivo hahaha, non so neache quale sia il trucco trucchettoso :/
  • Re: [ASSEMBLY MIPS] Verificare pari e dispari

    Ti ha già detto tutto migliorabile, cosa c'è da non capire?

    A è pari se A modulo 2 = 0, per definizione
    "A modulo 2" si può anche scrivere come "A AND 1", le due funzioni sono matematicamente equivalenti
    branch on equal o branch on not equal è questione di scelta arbitraria
Devi accedere o registrarti per scrivere nel forum
3 risposte