Ce topic aurait mieux eu sa place dans la section
Assembleur, non

?
Le problème des flags Carry et Overflow, c'est que leur signification dépend de l'instruction, tout en étant logique
uniquement dans le cas de l'addition.
Pour simplifier, on peut dire que le CF détecte les résultats erronés d'opérations non signées, et que l'OF détecte les résultats erronés d'opérations signées.
Ainsi, en non signé (valeurs entre 0 et 255 pour du 8 bits), si l'addition donne un résultat > 255, alors CF = 1, et si résultat € [[ 0 ; 255 ]], alors CF = 0.
En signé (valeurs entre -128 et 127), si l'addition de 2 nombres positifs donne un résultat négatif, ou si l'addition de 2 nombres négatifs donne un résultat positif, alors OF = 1, et dans les autres cas ( positif + positif => positif ; négatif + négatif => négatif ; addition de 2 nombres de signe différents), OF = 0.
Pour toutes les autres opérations (même la soustraction), l'affectation de CF et OF dépend de la convention utilisée pour le processeur cible.
Par exemple, si la soustraction de 2 nombres non signés (donc forcément positifs) donne un résultat strictement négatif, la convention x86 est de faire CF = 1 ( Carry Flag = Borrow Flag ), alors que la convention PIC est de faire CF = 0 ( Carry Flag = not (Borrow Flag) ).
Pour toutes les autres opérations, seul le traçage d'un programme test permet de conclure ...
@++

Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.