Ce chapitre se fonde sur les circuits additionneurs vus dans le Chapitre 14.
Ce premier circuit est très proche de l'additionneur 8 bits de la fin du chapitre 14. Il s'en distingue par le bouton de signe + à gauche. Vous pouvez basculer son état pour choisir entre addition et soustraction.
Dans le cas d'une soustraction (du nombre de la seconde rangée à celui de la première), le second nombre est converti par la batterie de portes XOR pour trouver le complément à un. La même ligne de connexion arme (1) le bit d'entrée de retenue du premier étage à droite. On aboutit ainsi à un complément à deux. Il ne reste plus ensuite qu'à procéder à l'addition.
Si une addition donne un résultat supérieur à 255, ou bien si une soustraction donne un résultat inférieur à zéro, le drapeau de débordement Overflow est armé, ce qui informe que le résultat est invalide. Lorsque cet étage de circuit additionneur est inséré en cascade avec d'autres pour calculer des nombres plus grands, le bit de débordement peut être exploité en tant que bit de retenue Carry ou de retenue négative Borrow.
Le circuit suivant sait faire la somme de deux nombres sur 8 bits en complément à deux dans la plage de valeurs entre 80h (–128 décimal) et 7Fh (127 décimal). Les équivalents en hexadécimal et en décimal sont montrés sur la droite.
Lorsqu'une des valeurs est positive alors que l'autre est négative, le résultat est toujours valide et le témoin Overflow reste à 0. En revanche, Overflow passe à 1 lorsque les deux entrées sont positives mais que leur somme dépasse 127, ou lorsque toutes deux sont négatives avec un résultat inférieur à –128.