|
Travaux pratiques IFT 1213, Hiver 2001
Démo 5
Unité arithmétique entière. Flags.
1. |
Calculez les flags V, N (Negatif, normalement appele bit de signe
et noté S ou FS sur pentium), C (carry), et Z (zero) pour les opérations
suivantes sur 8 bits
a) 10110101 - 01110101
b) 10101010 - 10000000
c) 01010101 - 10101010
En regardant la table 6.6 p 287, dites pour a) b) et c) lequel des deux
nombres est le plus grand en complément à deux.
|
2. |
Dans le cas d'un additionneur/soustracteur (addition si R = 0, soustraction
si R = 1) on a construit le circuit ci-contre pour le calcul du bit
V de débordement (overflow OF) en complément à 2
(ici sur 4 bits).
Pour effectuer la soustraction
X - Y, le circuit calcule en fait la somme
A + B + 1 avec 1 = c0, A = X
et B = ~Y (négation bit à bit de Y).
Montrer que dans le cas de la soustraction,
V est 1 si et seulement si X est positif, Y négatif et S négatif
ou si X est négatif, Y positif et S positif.
|
3. |
En classe on a vu comment implanter un additionneur-soustracteur
pour les nombres en représentation non signée et
complément à deux.
Dans cet exercice, on vous demande de construire un additionneur-soustracteur
pour les nombre en représentation "excès de 7" sur 4 bits.
Ceci signifie que l'on code les nombres de -7 à 8 sur 4 bits
de la facon suivante:
-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 A B C D E F
L'additionneur devra prendre en entree deux hex keyboard représentant
les nombre X et Y en excès de 7, et un commutateur R. La sortie
sera un "Hex display". Quand R=0, la sortie doit donner la somme de X et Y
en "excès de 7", et quand R=1, la sortie doit être la
representation de la différence. Par exemple si les entrées
hexadécimales
sont 8 (qui représente 1) et A (qui représente 3), et si
R est 0 (somme), la sortie doit
afficher B (qui représente la somme le 3 et 1, à savoir 4).
|
4. |
En utilisant des multiplexeurs 4 à 1, construisez un circuit
qui prend en entrée un nombre D de 4 bits
D3D2D1D0
et qui donne les sorties suivantes selon les bits de
sélection AB des multiplexeurs:
Bits AB Sortie
00 D
01 Multiplication de D par 2
10 Division non signée de D par 2
11 Division de D par 2 en complément à 2
Par exemple, si l'input est 1100, alors on obtient les sorties suivantes:
AB Sortie
00 1100
01 1000 (pas le choix, ici on perd un bit!)
10 0110
11 1110
|
|