Quelles différences entre "jmp", "jz", "jnz" et autre "jae?
Quelles différences entre "jmp", "jz", "jnz" et autre "jae?
Bonjour,
JMP adresse : saut inconditionnel.
Sauts conditionnels (uniquement saut court -128 +127 octets) :
JA/JNBE (above): saut si supérieur (non signé)
JNC/JAE/JNB : saut si C=0 (si supérieur ou égal en non signé)
JC/JB/JNAE (below): saut si C=1 (inférieur en non signé)
JE/JZ : saut si Z=1 (si égalité après CMP ou soustraction)
JNE/JNZ : saut si Z=0 (différent)
JP/JPE : saut si P=1 (parité paire (even))
JNP/JPO : saut si P=0 (odd=impaire)
JO : saut si O=1 (dépassement de capacité en nombres signés)
JNO : saut si O=0
JS : saut si S=1 (nombre signé négatif)
JNS : saut si S=0
JG/JNLE (greater): saut si supérieur (nombres signés)
JGE/JNL : saut si supérieur ou égal (nombres signés)
JL/JNGE (less): saut si inférieur (nombres signés)
JLE/JNG : saut si inférieur ou égal (nombres signés)
JCXZ : saut si CX=0 (par exemple pour tester comment un LOOPZ REPZ s'est fini).
Voila ...
jmp : saut inconditionnel
jz : branchement si le flag ZF est à 0 (utilisé lorsque le résultat d'une opération logique est différent)
jnz : le contraire de jz
jae : branchement si le résultat d'une opération logique non signée est supérieure ou égal
voilà
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager