PDA

Visualizza la versione completa : [ASSEMBLY] Branch BGT-BLT


Mephysto92
21-05-2012, 20:11
Ciao ragazzi...sto cercando di capire come funzionano questi due tipo di branch: BGT-BLT. Leggendo qua e la sono riuscito a capire cosa fanno ma non ho capito bene "come" lo fanno. Mi spiego: BGT (Branch Greater Than) un'istruzione che salta nel momento in cui il risultato maggiore dell'altro. Il fatto che non ho capito come opera sugli operandi. Ad esempio



1) CMP.B (A0),D0
2) BGT NOEQ


1)comparo l'elemento alla testa del vettore A0 con il registro D0;
2)se verificata BGT allora salto all'etichetta NOEQ.

Il problema questo: salto all'etichetta NOEQ se (A0)>D0 o D0>(A0) ???

Grazie !!!

Luccichina
22-05-2012, 20:31
Il problema questo: salto all'etichetta NOEQ se (A0)>D0 o D0>(A0) ???

Probabilmente la prima :D
A0 > D0

anche per le altre istruzioni di salto come JA, JB, JNE..
si compara sempre il primo termine con il secondo.
per non conosco quest'istruzione BGT :stordita:
da quanto ho letto, ho capito che sono
cito:
sono pseudo-istruzioni che vengono tradotte in istruzioni SLT e
BNE/BEQ dal compilatore rispettando la semantica del confronto.

Comunque se vuoi un alternativa, sempre se non ti richiesto per forza di usare BGT, utilizza JA (salta se maggiore) :fighet:

Loading