Chap. 5 Entiers Flashcards
Comment obtenir l’inverse d’un nombre (signé) ?
En obtenant son complément à 2: Inverser chaque bit et ajouter 1 au résultat. Ex: 0101 (5) -> 1011 (-5)
Une valeur hexadécimale est ____ si elle commence par [0-7]
positive
Une valeur hexadécimale est ____ si elle commence par [8-F]
négative
Qu’est-ce que fait une instruction se terminant par “s”? (Ex: adds, subs, negs)
Elle met à jour le registre des codes conditions.
Le bit Z est mis à 1 si…
…si le résultat est 0.
Le bit N est mis à 1 si…
…si le résultat est négatif.
Le bit V est mis à 1 si…
…s’il y a un débordement.
Le bit C est mis à 1 si…
…s’il y a un report.
Il se produit un débordement dans une addition si…
…si les opérandes ont le même signe, mais que le résultat est de signe contraire.
Dans une addition, il ne peut y avoir de débordement si…
…si les opérandes sont de signes contraires.
Il se produit un débordement dans une soustraction si…
…si les opérandes ont des signes différents et que le résultat est de signe contraire au premier opérande.
Peut-il y avoir un débordement lors d’une division?
Il n’y a généralement pas de débordement si tous les opérandes et le résultat tiennent sur 𝑙 bits
Il y a une exception
La division signée (sdiv) du plus petit entier négatif par −1
Le processeur n’indique pas de débordement
Le résultat est le plus petit entier négatif!
(Référence ARM, page 47)
Une soustraction de deux opérandes revient à faire quoi? (x - y = z devient x + __ = z)
x + (complément à 2 de y) = z
Dans une soustraction, il ne peut y avoir de débordement si…
…si les opérandes sont de mêmes signes.
Quand est-ce que le débordement nous intéresse?
Lors d’opérations sur des nombres signés.