Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [assembly]

    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

    codice:
    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 !!!

  2. #2
    codice:
    Il problema è questo: salto all'etichetta NOEQ se (A0)>D0 o D0>(A0) ???
    Probabilmente è la prima
    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
    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)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.