test esi, esi ???



  • Hallo,
    welchen Sinn macht die Assembleranweisung

    test esi, esi
    je label1
    

    Wird der Sprung nicht immer ausgeführt?
    Ich hab's schon öfter in sources gesehen, und frag mich immer nach dem Sinn!

    Danke,
    mace



  • Hi.

    test vergleicht seine beiden Operanden Bitweise and und setzt die Flags entsprechend.
    Hier soll ueberprueft werden, ob esi=0 ist. (denn (0 and 0)==0 => ZF wird gesetzt => conitional jump if equal (je) wird ausgefuehrt)
    Auf diese Weise laesst sich auch ueberpruefen, ob esi negativ(bei Integerwerten) oder >=80000000h ist. (js)


Anmelden zum Antworten