0% ont trouvé ce document utile (0 vote)
11 vues30 pages

Systèmes de numération et arithmétique

Le document traite des systèmes de numération et de leurs arithmétiques, en mettant l'accent sur l'importance de comprendre comment les nombres sont représentés et manipulés par les microprocesseurs. Il couvre les systèmes décimal, binaire et hexadécimal, ainsi que les conversions entre ces systèmes et les opérations arithmétiques associées. Enfin, il aborde la représentation des nombres signés et les différentes méthodes pour les coder.

Transféré par

arabarafikziad
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
11 vues30 pages

Systèmes de numération et arithmétique

Le document traite des systèmes de numération et de leurs arithmétiques, en mettant l'accent sur l'importance de comprendre comment les nombres sont représentés et manipulés par les microprocesseurs. Il couvre les systèmes décimal, binaire et hexadécimal, ainsi que les conversions entre ces systèmes et les opérations arithmétiques associées. Enfin, il aborde la représentation des nombres signés et les différentes méthodes pour les coder.

Transféré par

arabarafikziad
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

1

Les systèmes de numération et


leurs arithmétiques

Introduction

Comme les applications arithmétiques se développent rapidement, il est primordial que nous
soyons informés des systèmes de numérations et des processus arithmétiques.

Les nombres jouent un rôle important dans les systèmes informatiques. Les nombres sont la
base et l’objet des opérations informatiques. La tâche principale des ordinateurs c’est le calcul
qui traite tout le temps les nombres.

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
2

Pourquoi étudier tous ces codes de numération?


L’Unité Arithmétique et Logique (UAL), la partie du microprocesseur qui effectue toutes les
opérations arithmétiques et logiques, ne peut être conçu sans une connaissance complète de la
forme sous laquelle les nombres sont représentés dans la machine.
Dans ce cours nous allons discuter les différentes formes sous lesquelles les nombres sont
représentés et manipuler par le microprocesseur, en particulier les codes des nombres signés

La connaissance des systèmes de numération est d’une grande importance car ils simplifient
énormément certaine notion tel que, l’algèbre de BOOLE, la conception des circuits logiques,
la représentation des nombres signés, le codage de l’information et la représentation des
données, etc.

La programmation d’un microprocesseur nécessite la connaissance des systèmes binaires et


hexadécimal, car le langage machine n’est qu’une combinaison de mots binaires qu’on peut
représenter en hexadécimal.

Dans cette première partie on rappellera le principe du :

• système décimal
• système binaire naturel
• système hexadécimal
• Les conversions entre ces 3 systèmes

Généralités :

Notion de Numérisation :
Numériser = c'est pour se présenter les choses, images, nombres, mots parlés, chiffres, par des
symboles.

Exemple : 10 chiffres= 10 doigts ; Image TV= 250 000 points image-pixels Lettres de
l’alphabet.

Numériser revient donc à catégoriser tout en 2 états.

En conception numérique on utilise la représentation binaire – base 2  symboles 1 et 0.

Pourquoi numériser ?
On vit dans un monde numérique - calculs scientifiques, transactions bancaires,
enregistrements numériques, bientôt, la télévision

L’âge de l’information  l’âge du code binaire

Numériser présente beaucoup plus d’avantages que d’inconvénients.

• Les données numériques sont moins sensibles au bruit (pour l'acquisition, la transmission
et la mémorisation de données).

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
3

• Traitement (mémorisation par circuits à semi conducteur à coût raisonnable) :

Des millions de transistors ou interruptions sur une puce silicium - changent des millions
des fois par seconde -consomment peu d'énergie - coût très faible.

• Combinaison facile avec théorèmes booléens

(-algèbre de Boole permet de minimiser l'usage du hardware. 2 états: vrai - faux et 1-0)

Avantages des 2 états :


 disponibilité d'interrupteurs dans les circuits intégrés (transistor TBJ et MOSFET en
commutation saturé-bloqué) ;

 interrupteurs à la base des portes, à la base des circuits numériques arithmétiques

Qu’est ce qu’un système de numération :


C’est un ensemble de règles et de symboles utilisés pour représenter un nombre.

La connaissance des systèmes de numération est importante car la conception et le


fonctionnement d’un ordinateur dépend des systèmes de numération.

Quelques points importants reliés aux systèmes de numération :


1. La base du système B est le nombre de symboles différents utilisé par le système
2. Le nombre de symboles utilisés dans un système est lié à sa base et vont de 0 à N, avec :

N = B −1 (1.1)

Représentation d’un nombre dans un système de base B quelconque :


On utilise la relation suivante :
i max
(1.2)
D =  Pi B i
i

Où : B : base du système ; P : poids du digit imax= nombre de position et i = position du digit.

La règle ci-dessus peut être utilisée pour convertir un nombre d’une base quelconque en un
nombre décimal.

1. Le système décimal :
Le système décimal utilise les chiffres de 0 à 9 et la base 10 pour représenter les nombres. On
utilise la relation :
i max
(1.3)
D =  Pi10i
i

Exemple :

Le nombre 972110 représente : D= 9x103+7x102+2x101 +1x100

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
4

• Le 9 représente le chiffre de poids fort (M.S.B)


• Le 1 représente le chiffre de poids faible (L.S.B)
• 10 représente la base du système.

En règle générale un système de base b, possède (b-1) chiffres

2. Le système binaire naturel :


Le système binaire naturel fonctionne comme le système décimal avec deux exceptions :

1. Le système binaire permet l’utilisation des digits 0 et 1 (au lieu de 0-9)


2. Le système binaire utilise les puissances de 2 au lieu de 10.

On utilise la relation :
i max
(1.4)
D =  Pi 2i
i

A titre d’exemple la valeur 110010102 représente :

1*27+1*26+0*25+0*24+1*23+0*22+1*21+0*20=128+64+8+2=20210

Ceci est la manière de représenter ou de convertir un nombre binaire en décimal.

Le bit situé le plus à droite est le bit de poids faible, bit associé à (20) (L.S.B)
Le bit situé le plus à gauche est le bit de poids fort, bit associé à (27) (M.S.B)

Conversion décimal-binaire :
La conversion d’un nombre décimal en nombre binaire s’obtient par une division successive
du nombre par 2 jusqu’à ce que le résultat de la division soit 0.

Exemple : Soit à convertir le 2310 en binaire :

23 : 2 reste 1 → LSB bit de poids faible.


11 : 2 reste 1
5:2 reste 1
2:2 reste 0
1:2 reste 1 → MSB bit de poids fort
0

Le nombre binaire ainsi obtenu est : 2310=10111b

La plage des valeurs possibles à représenter va de 0 à 2n-1, n étant le nombre de bits. Ainsi :

• Sur 8 bits, on peut représenter les nombres de 0 à 255


• Sur 16 bits, on peut représenter les nombres de 0 à 65535

En binaire les nombres sont représentés sur 8 bits, 16bits, 32bits ou 64bits.

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
5

3. Le système hexadécimal :
Avec l'apparition des processeurs 8, 16 et surtout 32 bits, la notation binaire est vite devenue
pénible car elle comporte un grand nombre de bits ce qui reste de causer des erreurs lors de
l’écriture. La notation hexadécimale n'est qu'une façon d'écrire les nombres binaires avec une
représentation plus compacte.
Le système hexadécimal utilise la base 16, dont il utilise les chiffres de 0 à 15.

Les chiffres du système hexadécimal sont les nombres de 0 à 9 plus les lettres de A à F dont la
signification est :

Décimal Binaire Hexadécimal


0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

On utilise la relation :
i max
(1.5)
D =  Pi16i
i

A titre d’exemple le nombre 5AF16 représente :

5*162+A*161+F*160=5*162+10*161+15*160=1280+160+15=145510
Ceci n’est que la conversion d’un nombre hexadécimal en un nombre décimal.

Conversion décimal-hexadécimal :
La conversion d’un nombre décimal en nombre hexadécimal s’obtient par une division
successive du nombre par 16 jusqu’à ce que le résultat de la division soit 0.

Exemple : soit à convertir le nombre 4510 en hexadécimal :

45 : 16 reste 13 (D) LSB


2 : 16 reste 2 MSB
0

Donc 4010=2D16

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
6

Conversion binaire hexadécimal :


La conversion d’un nombre binaire en un nombre hexadécimal est très aisée : il suffit de
regroupe les bits du nombre binaire par groupe de 4, pour ensuite remplacer chaque groupe
par le chiffre hexadécimal correspondant :

Exemple : Soit à convertir 1001 1111 01112 en hexadécimal :

1001 1111 01112=9F716

La conversion du code hexadécimal au code binaire ne pose aucun problème : il suffit de


remplacer chaque chiffre hexadécimal par le groupe de 4 bits binaires correspondant.

Exemple : Soit à convertir 9AC816 en binaire :

9AC816=1001 1010 1100 10002

Le tableau 1 montre de conversion Décimal-binaire-hexadécimal des nombre de 0 à 15.

Décimal Binaire Hexadécimal


0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
Tableau 1

Les opérations arithmétiques sur les nombres binaires :

Les principales opérations arithmétiques effectuées sur les nombres binaires sont :

1. L’addition (+)
2. La soustraction (-)
3. La multiplication ( x)
4. La division ( : )

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
7

1. L’addition :

Les règles de l’addition binaire sont :

0+0=0 ; 0+1=1 ; 1+0=1 ; 1+1=0 retenue =1

Exemple : Soit à additionner les nombres binaires 01011001 et 11011010.

Figure 1 : Principe de l’addition

Remarque :

a. La retenue auxiliaire se produit lors du passage d’un 1 du bit 3 au bit 4.


b. La retenue se produit lors du passage d’un 1 du bit 7 au bit 8.

2. La soustraction : Les règles de la soustraction sont :

0-0=0 ; 1- 0=1 ; 1-1=0 ; 0-1=1 et on empreinte 1


Exemples :

Figure 2 : Principe de la soustraction.

3. La multiplication :

La multiplication des nombres binaires est identique à la multiplication des nombres


décimaux sauf que en binaire:

a. On multiplie par 1 ou par 0


b. Le résultat partiel est soit 0 soit le multiplicande.
c. Le résultat de la multiplication est la somme des produits partiels

Donc la multiplication comporte un multiplicande, un multiplieur, un produit et des produits


partiels. Produit = Multiplicande * Multiplieur.

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
8

Exemple :

Figure 3 : Principe de la multiplication

4. La division :

Dans l’opération de division on procède comme suit :

1. On aligne le diviseur sur la partie gauche du dividende


2. On soustrait le diviseur de la partie du dividende situé au dessus du diviseur.

a. Si le diviseur est > à la partie du dividende pas de soustraction, alors on accumule un 0


dans le quotient
b. Si le diviseur est < à la partie du dividende on effectue la soustraction et on accumule un
1 dans le quotient.
3. On décale un bit du dividende dans le reste partiel et on refait les étapes 1,2 et 3 jusqu’au
dernier bit du dividende.

La figure 4 illustre ce principe de division.

Figure 4 : Principe de la division.

La division englobe 4 paramètres : Le dividende, le diviseur, la quotient et le reste qui sont


régit par la relation :

Dividende = Diviseur * Quotient + Reste

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
9

La représentation des nombres signés et leur arithmétique :


Avec les algorithmes de traitement de données, le besoin de représenter des nombres négatifs
apparaît très souvent. La façon la plus simple de représenter un nombre signé est de réserver
le bit de poids fort pour la représentation du signe.
Quant à la plage des valeurs possibles à représenter, elle s’échelonne entre -2n-1-1 à 2n-1-1.

Dans les paragraphes qui suivent, on étudiera :

1. Le code de la valeur absolue


2. Le code complément à 1
3. Le code complément à 2
4. Le code BCD
5. Le code Hexadécimal
6. Le code ASCI

1. Valeur absolue signée.


Principe Ce système est utilisé pour représenter des nombres positifs ou négatifs. Le bit de
poids fort est le "bit de signe" (codé 0 pour +, et 1 pour -), et les bits restants donnent la valeur
absolue du nombre en code binaire naturel.

Figure 5 : Principe de la valeur absolue.

Exemple : La représentation sur 4bits donne les codes de -7 à +7 :

Code décimal Code de la valeur absolue


+7 0111
+6 0110
+5 0101
+4 0100
+3 0011
+2 0010
+1 0001
0+ 0000
0- 1000
-1 1001
-2 1010
-3 1011
-4 1100
-5 1101
-6 1110
-7 1111
Tableau 1 : Représentation des nombres de [-7,+7] en code de la valeur absolue.

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
10

Intervalle des valeurs : x ∈ [-2n-1+1, 2n-1-1] n=nombre de bits

8 bits permettent de couvrir l'intervalle [-127, +127], 16 bits l'intervalle [-32767, +32767].

Principe de l’addition en code de la valeur absolue :


L'addition de deux nombres s'effectue en examinant leur signe.

a. S'ils ont même signe on les additionne, le signe du résultat étant égal au signe des
opérandes;

b. S'ils ont un signe différent, on soustrait le plus petit du plus grand, le signe du résultat étant
celui du plus grand des opérandes.

L’exemple ci-dessous illustre les deux cas précédents.

Exemple : Effectuer les opérations : (-13) + (+25) ; (-9) + (-40) ; (-25) + (+13) sur 8bits.

On cherche les codes des valeurs puis on effectue l’opération en examinant les signes.

00011001 [+25] 10001001 [-9] 10011001 [-25]


+ 10001101 [-13] + 10101000 [-40] + 00001101 [+13]
= 00001100 [+12] = 10110001 [-49] = 10001100 [+12]

Inconvénients de code de la valeur absolue :

• Il y a deux représentations pour 0. Il y a un 0+ (0000) et un 0- (1000)


• L'addition est trop complexe car elle nécessite un circuit additionneur et un circuit
soustracteur, plus une méthode pour comparer les deux opérandes.

Schéma synoptique de l’additionneur en code de la valeur absolue :


Le schéma synoptique d’un additionneur en code de la valeur absolue est donné sur la figure 6.

Figure 6 : Schéma synoptique de l’additionneur en code de la valeur absolue

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
11

Il comporte les éléments suivants :

a. Un circuit d’addition pour faire l’opération A+B ;


b. Un circuit soustracteur pour effectuer l’opération A-B ;
c. Un circuit soustracteur pour effectuer l’opération B-A
d. Un circuit comparateur qui compare les valeurs absolues de A et B qui donne selon les cas
le résultat A>B, A=B ou A <B ;
e. Un circuit logique qui examine les signes Sa et Sb des opérandes A et B ainsi que le
résultat de comparaison de A et B et détermine le type d’opération à effecteur OP ainsi que
le signe du résultat Ss.

2. Code complément à 1
Principe :

Ce système est utilisé pour représenter des nombres positifs ou négatifs. En supposant que
l'on dispose de n bits, les nombres positifs de 0 à 2n-1-1 sont représentés en code binaire
naturel :
x > 0 → code1(x) = x (1.6)

Les nombres négatifs de valeur absolue inférieure à 2n-1 sont représentés par :

x < 0 --> code1(x) = 2n - 1 - |x| (1.7)

Intervalle des valeurs : x ∈ [-2n-1+1, 2n-1-1] n=nombre de bits

Exemple :

La représentation sur 4bits donne les codes de -7 à +7 :

Code décimal Code complément à 1


+7 0111
+6 0110
+5 0101
+4 0100
+3 0011
+2 0010
+1 0001
0+ 0000
0- 1111
-1 1110
-2 1101
-3 1100
-4 1011
-5 1010
-6 1001
-7 1000
Tableau 1 : Représentation des nombres de [-7,+7] en code complément à 1.

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
12

Propriétés

La somme des codes d'un nombre et de son opposé donne un mot binaire dont tous les bits
sont à 1 :
Code1(x) + Code1 (-x) = 2n - 1 (1.8)

Voici un exemple :
Code1 (5) + Code1 (-5) = 0101 + 1010 = 1111

Corollaire : de la propriété précédente il découle que :

Code1 ( x > 0) = Code1 ( x < 0) (1.9)


Et Code1 ( x < 0) = Code1 ( x > 0)

Pour obtenir le code d'un nombre négatif, il suffit de complémenter le code de sa valeur
absolue, c’est dire inverser tous les bits.

Addition

• L'addition de deux nombres positifs ne pose pas de problème car il suffit d'additionner
leurs codes : le code du résultat est la somme des codes des opérandes.

• Examinons les cas où les deux opérandes sont l’une positive et l’autre négative où les deux
sont négatives. Nous aurons donc 3 cas à examiner :

Cas 1 : x>0 et y<0 tel que |x|>|y|

Soient deux nombres de signe opposé tels que :

x > 0, y < 0 / |x| > |y|

En essayant d'additionner leurs codes, on obtient :

Code1(x) + Code1(y) = x + 2n - 1 - |y|


= 2n - 1 + (x+y) avec x+y > 0
= 2n - 1 + Code(x+y)
Soit encore : Code1(x+y) = Code1(x) + Code1(y) + 1 - 2n

Le dernier terme de cette équation ne modifie que le (n+1)ième bit du résultat (en fait codé sur
n bits), ce qui permet d'écrire :

Code1(x+y) = Code1(x) + Code1(y) + 1

Le code de la somme de deux nombres de signe différent est obtenu en incrémentant la somme
des codes des deux opérandes.

Cas 2 : x>0 et y<0 tel que |x|<|y|

Par souci de rigueur, essayons deux nombres tels que :

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
13

x > 0, y < 0 / |x| < |y|

En additionnant leurs codes on obtient :

Code1(x) + Code1(y) = x + 2n - 1 - |y|


= 2n - 1 + (x+y) avec x+y < 0
= 2n - 1 - |x+y|

Code1(x) + Code1(y) = Code1(x+y)

• Ces exemples montrent que dans certains cas le code de la somme obtenu par addition des
codes des opérandes, dans d'autres cas il faut y ajouter 1.

Cas 3 : cas de deux négatifs x<0 et y<0

Code1(x) + Code1(y) = 2n - 1 - |x| + 2n - 1 - |y|


= 2n - 1 + 2n - 1 + (x+y)
= 2n - 1 + 2n - 1 - |x+y| car x+y < 0
= 2n - 1 + Code(x+y) |x+y| <= 2n-1

On en déduit : Code1(x+y) = Code1(x) + Code1(y) + 1 - 2n

Comme le dernier terme de cette équation modifie uniquement le (n+1)ième bit du résultat,
nous pouvons à nouveau écrire :

Code1(x+y) = Code1(x) + Code1(y) + 1

Exemples : Effectuer ces opérations sur 8 bits : (-13) + (+25) ; (-9) + (-40), (-25) + (+13).

On cherche le code de chaque nombre puis on les additionne.

00011001 [+25] 11100110 [-25] 11100110 [-9]


+ 10001101 [-13] + 00001101 +13] + 00001101 [-40]
+ 00000001 + 00000001
=1 00001100 [+12] = 11110011 [-12] =1 10001100 [-49]

Avantages et inconvénients

• Il y a toujours deux codes différents pour le nombre 0.


• L'addition est assez compliquée à mettre en oeuvre puisqu'il faut éventuellement
incrémenter le code obtenu en fonction du signe du résultat.
• La gestion des dépassements n'est pas évidente (cf. les facteurs 2n ci-dessus).
• Un avantage de ce code est que la soustraction peut être effectuée par addition de
l'opposé, qui est simplement obtenu par complémentation du code du nombre considéré.

Schéma synoptique d’un additionneur en code complément à 1


La figure 7 représente le schéma synoptique d’un additionneur en code complément à 1. Il
comporte :
ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
14

a. Un additionneur ;
b. 2 multiplexeurs pour l’obtention de des valeurs absolues de A et B ;
c. Un comparateur pour comparer les valeurs absolues de A et B ;
d. Un circuit logique qui en fonction des signes Sa et Sb des opérandes A et B et du résultat
de comparaison permet de générer une fonction F égale à 0 ou 1 ce qui permet d’effectuer
l’une des opérations

• Code1(A+B)=Code1(A)+Code1(B) ou
• Code1(A+B)=Code1(A)+Code1(B)+1.

D’après le schéma de la figure 7.a on a S=A+B+F où F égale 0 ou 1. Autrement dit :

• Si F=0  Code1(A+B)=Code1(A)+Code1(B)
• Si F=1  Code1(A+B)=Code1(A)+Code1(B) +1

On peut en déduire que lorsqu’une addition en code complément à 1 génère une retenue COUT
il faut l’ajouter au résultat soit :

Code1(x+y) = Code1(x) + Code1(y) + COUT (1.10)

Cette relation simplifie énormément le circuit d’addition en code complément à 1 qui se réduit
à un simple additionneur comme l’illustre la figure 7.b.

Figure 7 : Schéma synoptique d’un additionneur en code complément à 1

(a) (b)

3. Code complément à 2

Principe
Les nombres positifs sont codés comme d'habitude. Les nombres négatifs sont représentés
par :
x < 0 --> code(x) = 2n - |x| (1.10)

En fait, le code complément à 2 est obtenu en incrémentant le code complément à 1

Code2(x<0) = Code1(x<0) + (1.11)

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
15

On en déduit des propriétés du code complément à 1 que le code d'un négatif est simplement
obtenu en incrémentant le complémentaire de sa valeur absolue :

Code2 ( x < 0) = Code1 ( x > 0) + 1 (1.12)


Exemple :

Code décimal Code complément à 2


+7 0111
+6 0110
+5 0101
+4 0100
+3 0011
+2 0010
+1 0001
0+ 0000
0- -
-1 1111
-2 1110
-3 1101
-4 1100
-5 1011
-6 1010
-7 1001
-8 1000
Tableau 1 : Représentation des nombres de [-7,+7] en code complément à 2.

Intervalle des valeurs : x ∈ [-2n-1, 2n-1-1] n=nombre de bits

Cette représentation incrémente le code des négatifs, et par là même décale d'une unité vers la
droite la demi-droite des négatifs par rapport au code complément à 1.

Le problème de la double représentation de 0 est ainsi résolu de manière évidente.


Il apparaît également un négatif supplémentaire à la gauche de l'échelle.

Addition

L'addition de deux nombres positifs est classiquement effectuée en additionnant leurs codes.

Soient deux nombres de signe différent tels que :

x > 0, y < 0 / |x| > |y|

En essayant de simplement additionner leurs codes :

Code2(x) + Code2(y)= x + 2n - |y|


= 2n + (x+y) avec x+y > 0
= 2n + Code2(x+y)

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
16

Ce qui conduit finalement à :

Code2(x+y) = Code2(x) + Code2(y) - 2n


ième
Le dernier terme de cette équation ne modifie que le (n+1) bit du résultat, ce qui permet
d'écrire :
Code2(x+y) = Code2(x) + Code2(y)

On vous laissera le soin d’examiner les deux autres combinaisons de signe pour x et y.
Toutefois, la conclusion est que quels que soient les signes et les valeurs absolues respectives
des deux nombres concernés, le code complément à 2 de la somme de deux nombres et obtenu
en additionnant les codes complément à deux des deux opérandes.

• La soustraction s'effectue par addition de l'opposé, et l'opposé est obtenu par :

Code2 ( x < 0) = Code2 ( x > 0) + 1 (1.14)

Dépassement de capacité (Overflow) et retenue (Carry)

Considérons par exemple l'addition de deux nombres de n bits A et B, dont le résultat est R et
désignons par Asigne, Bsigne et Rsigne respectivement les bits de signe A, B et R. et designons
par CIN et COUT les retenues d’entrée et de sortie du dernier additionneur (celui qui produit le
bit du signe comme résultat).Faisons maintenant toutes les opérations susceptibles de se
produire sur les 2 nombres A et B comme l’illustre la figure 8.

Figure 8 : Opérations sur 8bits avec diverses valeurs de A et B.

Maintenant rassemblons les résultats de calcul de la figure 8 précédente en s’intéressant aux


bits des signes des opérandes A et B et du résultat R et aux retenues CIN et COUT et intéressons
nous au dépassement comme l’illustre le tableau suivant.

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
17

Récapitulatif des conditions de dépassement


Asigne Bsigne CIN Rsigne COUT Dépassement (V)
0 0 0 0 0 non
0 0 1 1 0 OUI
0 1 0 1 0 non
0 1 1 0 1 non
1 0 0 1 0 non
1 0 1 0 1 non
1 1 0 0 1 OUI
1 1 1 1 1 non
Tableau

Le récapitulatif indique très clairement que le dépassement se produit lorsque 2 nombres de


même signe produit un résultat de signe différent.

Asigne =0, Bsigne=0 et Rsigne=1 (1.15)


Ou Asigne =1, Bsigne=1 et Rsigne=0

L’indicateur de dépassement (Overflow flag) peut être exprimé par l'équation logique :

V = a7 .b7 .r7 + a7 .b7 .r7 (1.16)

Le circuit logique correspondant est donné sur la figure 9.

Figure : Circuit de détection du bit de dépassament en fonction des signes de A, B et R.

On peut aussi exprimer le dépassement en fonction des retenue d’entrée CIN et de Sortie Cout.
Le dépassement se produit lorsque les retenues CIN et COUT sont de valeurs différentes de qui
se traduit par la relation suivant :

CIN =1, Cout=0  V=1 (1.17)


Ou CIN =0, Cout=1  V=1

On peut donc exprimer le dépassement V par l’équation logique suivante :

OV 2 = C IN ⊕ COUT (1.18)

Le circuit correspondant est une porte XOR dont les entrées sont les retenues d’entrée CIN et
de Sortie COUT comme l’illustre la figure 10.

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
18

Figure ; Circuit de détection du bit de dépassement en fonction des retenues CIN et COUT.

• La retenue d’entrée CIN est obtenue lors de l’addition des bits 6 des 2 opérandes (C’est-à-
dire elle est le passage d’un ‘1’ du bit 6 au bit 7)

• La retenue de sortie COUT quant à elle est obtenue de l’addition des bits 7 des 2 opérandes
(C'est-à-dire elle est le passage d’un 1 du bit 7 au bit 8).

Pour résumer disons que :


1. Le dépassement se produit lorsque l’addition de 2 nombres de même signe en code
complément à 2 produit un résultat de signe différent ou lorsque les retenues du dernier
additionneur sont différentes.
2. L’addition de 2 nombres de signes différents, en code complément à 2 ne produit jamais
de dépassement.

Conclusion : Le code complément à 2 présente de nombreux avantages :

• il y a un seul code pour 0,


• l'addition de deux nombres se fait simplement en additionnant leurs codes,
• il est très simple d'obtenir l'opposé d'un nombre...

Ceci explique que tous les processeurs actuels utilisent ce code pour effectuer des calculs en
arithmétique signée, et disposent de fonctions spéciales pour l'implémenter (cf. indicateur de
dépassement).

Méthode rapide pour trouver le code complément à 2 d’un nombre :

a. La méthode consiste à explorer le nombre à partir du bit de faible poids jusqu’à ce qu’on
repère le premier bit égal à1.

b. Ensuite, on cherche le complément à 1 de chaque bit situé après le ‘1’ repéré en a.

Remarque :

L’opération est valable aussi bien pour trouver le nombre négatif connaissons le positif est
vice versa.

Exemple : trouver le code de -118

En code complément à 2 le nombre décimal 118 s’écrit 01110110


Pour trouver le nombre -118 on commence par repérer le premier bit égale à ‘1’ ensuite on
prend le complément à 1 des bits de rang supérieur ce qui donne 10001010.
On obtient donc 100010102, qui est la représentation de -118 en code complément à 2.

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
19

Exemple 2 :

Que représente le nombre 111100102 en code complément à 2 ?

On repère le premier bit égale à 1 ensuite on prend le complément à 1 des bits de rang
supérieur ce qui donne 00001110. Ce nombre représente +13.
Donc 11110010 représente -13.

Extension du signe :

Pour les codes complément à 1 et complément à 2, si l'on veut passer un entier signé x d'un
format n bits vers un format n+k bits, en gardant la même valeur, il suffit de faire une
extension de signe: le bit de signe est répété sur les nouveaux k bits de poids fort comme
m’illustre la figure 10.

Figure 10 : Extension du signe d’un nombre à n bits.

Exemple :

Soit le nombre 10010110 (sur 8bits). Son extension sur 16bits est : 1111111110010110.

4. Le code BCD (Décimal Codé Binaire)

Principe
Les humains ont la mauvaise habitude de vouloir calculer en base 10. La représentation
"décimal codé binaire" revient à coder directement, digit par digit, la représentation décimale
d'un nombre. Ainsi, chaque digit (0-9), est représenté sur 4 bits, et un octet permet de
représenter deux digits comme l’indique le tableau suivant.

Tableau : Chiffres du code BCD


0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
20

Exemples de nombres sur 8 bits représentés en code BCD.

Tableau : Nombres en code BCD


0 0000 0000
1 0000 0001
9 0000 1001
10 0001 0000
32 0011 0010
99 1001 1001

L’addition en code BCD :


Considérons les opérations de la colonne 1 du tableau ci-dessous et essayant d’additionner les
codes et d’examiner le résultat obtenu.

Opération Commentaires
0000 0001 (01)
01+08 + 0000 1000 (08)
= 0000 1001 (09) Résultat correct

0000 0110 (06)


06+09 + 0000 1001 (09)
= 0000 1111 Résultat faut : Mauvaise représentation du digit 1100.
+ 0000 0110 (06) Terme correctif
0001 0101 (15) Résultat corrigé

0000 1001 (09)


08+09 + 0000 1001 (09)
= 0001 0010 (12) Résultat faut : Il y a une retenue auxiliaire.
+ 0000 0110 (06) Terme correctif
= 0001 1000 (18) Résultat corrigé

Ces exemples montrent que dans certains cas il faut ajouter un terme correctif (06 ou 60 ou 66
suivant les cas) au résultat de la somme des codes BCD pour obtenir le code BCD du résultat.

La nécessité d'effectuer une correction apparaît à peu près évidente dans le deuxième exemple
ci-dessus (01+08), puisque les 4 bits de poids faible correspondent à un terme supérieur à 9,
qui est le digit le plus grand autorisé en base 10. Cependant, la raison pour laquelle il faut
corriger est un peu moins évidente dans le dernier exemple (06+09). Cette fois-ci, la
correction découle de la retenue qui a été propagée depuis les 4 bits de poids faible vers les 4
bits de poids fort. Cette retenue est appelée retenue auxiliaire (auxilliary carry).
La correction doit être effectuée dans deux cas :

1. Représentation erronée du code du chiffre (1010, 1011, 1100, 1101, 1110, 1111)
2. Dans le cas d’une retenue auxiliaire (COUT=1)

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
21

La plupart des processeurs actuels possèdent un indicateur pour la retenue auxiliaire, et des
instructions pour gérer cette retenue dans le cadre d'opérations sur des nombres BCD. En
général, l'instruction DAA (Decimal Adjust for Addition) ajuste automatiquement le résultat
d'une addition en fonction de sa valeur et de la retenue auxiliaire, pour obtenir un résultat
codé BCD, en effectuant la correction (+06, 60 ou 66).

Exemple (en assembleur Zilog Z80)

LD A, 88h ; A <-- BCD(decimal 88)


ADD A, 33h ; A <-- A + 33
DAA ; ajuster le résultat dans A

L'instruction ADD met la valeur de la somme de 88h et 33h, qui est 0BBh, dans le registre A.
Comme 0Bh > 9, l'instruction DAA ajoute le terme correctif 66h au contenu de A, d'où le
résultat : 0BBh + 66h = 121h

Après l'instruction DAA, le résultat 21h sera disponible dans le registre A et l'indicateur de
retenue sera à 1, pour indiquer le résultat décimal de la somme de 33 et 88 qui est 121.

Autres exemples :

Effectuer les opérations suivantes en code BCD :

a. (59+32) ;
b. (88+71) :
c. (59+88).

Opération Commentaires
0101 1001 (59)
59+32 + 0011 0010 (32)
= 1000 1011 8B Résultat faux : Mauvaise représentation du digit 1011
+ 0000 0110 (06) Terme correctif
= 1001 0001 (91) Résultat corrigé

1000 1000 (88)


88+71 + 0111 0001 (09)
= 1111 1001 F9 Résultat faux : Mauvaise représentation du digit 1111
+ 0110 0000 (60) Terme correctif
=1 0101 1001 (159) Résultat corrigé

59+88 0101 1001 (59)


+ 1000 1000 (88)
= 1110 0001 E1 Retenue auxiliaire et mauvaise représentation du digit
+ 0110 0110 (66) Terme correctif
=1 0100 0111 (147) Résultat corrigé.

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
22

Circuit d’addition en code BCD

Le circuit d’addition en code BCD est donné sur la figure ci-dessous.

Principe de fonctionnement :

• Si le résultat est faux alors le circuit de correction donne 1 en sortie ce qui permet de
fabriquer un 6 (0110) sur le second additionneur. Ce six (0110) est ajouté à la somme
erronée issue du premier additionneur et ainsi le résultat sera corrigé, soit : S=S+6
• Si le résultat est correct alors le circuit de correction donne 0 en sortie ce qui permet de
fabriquer un 0000 sur le second additionneur. Ce zéro (0000) est ajouter à la somme issue
du premier additionneur, soit : S=S+0

La Soustraction en code BCD :


La soustraction de nombres BCD est effectuée comme l'addition : dans certains cas il faut
ajuster le résultat par soustraction d'un terme correctif.

Opération Commentaires
08-03 0000 1000 (08)
- 0000 0011 (03)
= 0000 0101 (05) Résultat correcte.

22-07 0010 0010 (22)


- 0000 0111 (07)
= 0001 1011 1B Résultat faux : Mauvaise représentation du digit 1011
- 0000 0110 (06) Terme correctif
= 0001 0101 (15) Résultat corrigé.

51-09 0101 0001


- 0000 1001
= 0100 1000 (48) Résultat faut x : Il y a une Retenue auxiliaire.
- 0000 0110 Terme correctif
0100 0010 (42) Résultat corrigé.

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
23

Comme après une addition, la nécessité d'une correction est à peu près évidente dans le
second exemple (22-7), mais l'est nettement moins dans l'exemple trois (51-9). Dans ce cas, la
correction est dûe à la retenue soustractive : il a fallu "emprunter" (borrow) un bit au digit de
poids fort, pour effectuer la soustraction des digits de poids faible.

De même que pour l'addition, certains processeurs possèdent une instruction qui effectue
automatiquement la correction nécessaire pour ajuster le résultat d'une soustraction de
nombres BCD.

L'instruction das (Decimal Adjust after Subtraction) soustrait le terme correctif 06h du
contenu résultat. Après l'instruction das, le résultat en code BCD sera coorect.

Exercice : faire l’opération 38h-83h en code BCD sur 8bits.

Exemple (en assembleur Zilog Z80)

LD A,38h ; A <-- 38h


SUB 83H ; A <-- A – 83h
DAS ; adjust result in A

• L'instruction SUB met le résultat de l'opération 83h moins 38h, qui est 4Bh, dans le
registre A. Comme 0Bh > 9, l'instruction DAS (Decimal Adjust after Subtraction) soustrait
le terme correctif 06h du contenu de A, ce qui donne :

04Bh - 06h = 45h


• Après l'instruction DAS, le résultat est 45h dans le registre A qui est le code BCD de 45.

Circuit de soustraction en code BCD

Le circuit de soustraction en code BCD est donné sur la figure ci-dessous.

Principe de fonctionnement :

• Si le résultat est faux alors le circuit de correction donne 1 en sortie ce qui permet de
fabriquer un 6 (0110) sur le second soustracteur. Ce six (0110) est soustrait de du résultat
erronée issue du premier soustracteur et ainsi le résultat sera corrigé, soit : S=S - 6

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
24

• Si le résultat est correct alors le circuit de correction donne 0 en sortie ce qui permet de
fabriquer un 0000 sur le second v. Ce zéro (0000) est soustrait du résultat issu du premier
soustracteur ce qui ne modifie rien au résultat ; soit : S=S-0

4.1 Code BCD étendu :


Dans le code BCD étendu un digit est réservé au signe. C’est le digit de poids le plus élevé
qui réservé au signe (MSD : en anglais) Most Significant Digit). Ainsi :

Si le MSD = 0000 le nombre est positif.


Si le MSD = 1001 le nombre est négatif.

Si X>0 Code BCD_E (X>0)=X (1.19)


Si X<0 CodeBCD_E (X<0)=Complément à 9 (X)+1

Ainsi le nombre 1250 est représenté par 01258 soit 0000 0001 0010 0101 1001
Si l’on veut représenter -01259, il faut prendre le complément à 9 de chacun des chiffres ce
qui donne 01259 auquel il faut ajouter 1 soit :
-01259= 98741+1 =98742 soit 1001 1000 0111 0100 0010.

Exemples :

-059 → 940 +1=941 → 1001 0100 0001


257 → 0257 → 0000 00 10 0101 0111
-498 → 9501 +1=9502 → 1001 0101 0000 0010

Propriétés du code BCD Etendu (BCD_E)

 Code BCD_E (X<0) = Complément à 9 de (X>0) + 1


 Code BED_E(X>0) = Complément à 9 de (X<0) + 1

Addition et Soustraction :

La soustraction est traitée comme une addition. Il y a une seule relation de calcul :

Code BCD_E (X+Y)= Code BCD_E (X)+Code BCD_E(Y) (1.20)

Autrement dit on cherche les codes des 2 nombres en code BCD Etendu et on les additionne.

Remarque :

L’indice BCD_E signifie code BCD Etendu.

Exemples :

Soit à effectuer les opérations suivantes en code BCD étendu.

a. 245+135
b. 334 -212.

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
25

Opération Commentaires
0010 0100 0101 (245)
(245)+(135) + 0001 0011 0101 (135)
= 0011 0111 1010 Résultat faux :
+ 0000 0000 0110 (000) Terme correctif
= 0011 1000 0000 (380)

= 0011 1000 0110 (280) Résultat corrigé

0011 0011 0100 (334)


(334)-(212) + 0111 1000 1000 (-212)
= 1010 1011 1100 Résultat faux
+ 0110 0110 0110 (666) Terme correctif
= 0001 0010 0010 (-122) Résultat corrigé

Additionneur /Soustracteur en code BCD étendu à 1digit.

Le circuit d’un additionneur soustracteur est donné sur la figure ci-dessous.

Il comporte :

• Un additionneur BCD à 4bits


• Un circuit de calcul du complément à 9
• Un circuit MUX2:4, qui permet de sélection soit B, soit le complément à 9 de B.

Principe de fonctionnement

 Si Sel =0 et CIN=0  S=A+B (Addition)

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
26

 Si Sel =1 et CIN=1  S=A+[Complément à 9 de B] +1, S=A-B (Soustraction).

5. Code hexadécimal
Pour représenter un nombre signé en hexadécimal on procède comme suit :

1. On calcule son complément restreint.


2. On ajoute 1 au complément restreint ce qui donne le complément vrai du nombre.

Exemple : Représenter le nombre -42 en hexadécimal

En hexadécimal le nombre 42 est représenté par 2A (obtenu par divisions successives de 42


par 16).

Calcul du complément restreint de 2A

On cherche la valeur maximale que l'on peut exprimer dans ce format est : FF

La différence qui existe entre cette valeur maximale et 2A s'appelle le complément restreint

FF
- 2A
--------
D5

Le complément restreint +1 donne D5+1=D6 et C’est la représentation recherchée.

Comment reconnaître un nombre signé d’un nombre non signé ?

En binaire signé, un nombre est négatif si le chiffre binaire de gauche est 1, en hexadécimal,
un nombre est négatif si le chiffre hexadécimal de gauche est ≥ 8

Exemple : 8F est négatif 7B est positif 4FFF est positif A00B est négatif

Le passage du code hexadécimal au code complément à 2 :

Le passage du code hexadécimal au code complément à 2 et vice versa est très aisé.
Il suffit de représenter chaque digit par son équivalent binaire :
=
Exemple : la conversion de 2FC9h donne 0010 1111 1100 10012

Pour le passage du code complément à 2 au code hexadécimal, il faut faire l’opération


inverse ; c'est-à-dire regrouper les bits 4 à 4 en commençant par le LSB.

Exemple : La conversion de 1010 0011 1011 11102 donne A3CEh

Utilité du code hexadécimal : Considérons les deux exemples suivants :

Exemple 1 : Représentation d’un nombre en hexadécimal, en décimal et en binaire.

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
27

FFFFh = 6555610 = 1111 1111 1111 11112

La représentation du nombre en hexadécimal est plus compacte.

Exemple 2 : Ecriture d’un programme

a. En code binaire :

00101110 00010000 00000110 00100000 10000000 00110010 00000000 00100000


01110110

b. En code hexadécimal : 2E 10 06 20 80 32 00 20 76

L’écriture du programme en code hexadécimal est plus compacte.

On peut donc dire que le code hexadécimal et le code le code le plus compact. Il est très
utilisé dans l’écriture des programmes des microprocesseurs.

6. Code des caractères alphanumérique : CODE ASCII


Il est souvent utile de comparer deux caractères, par exemple pour les trier dans l’ordre
alphabétique.

Les caractères, appelés symboles alphanumériques, incluent les lettres majuscules et


minuscules, les symboles de ponctuation (& ~, # " - etc.), et les chiffres.

Un texte, ou chaîne de caractères, sera représenté comme une suite de caractères. Le codage
des caractères est fait par une table de correspondance indiquant la configuration binaire
représentant chaque caractère. Les codes les plus connus sont l’EBCDIC (en voie de
disparition) et le code ASCII (American Standard Code for Information Interchange).

Le code ASCII représente chaque caractère sur 7 bits (on parle parfois de code ASCII étendu,
utilisant 8 bits pour coder des caractères supplémentaires). Le tableau 1 ci-dessous donne le
code des caractères ASCII.
A chaque caractère est associée une configuration de 8 chiffres binaires (1 octet), le chiffre de
poids fort (le plus à gauche) étant toujours égal à zéro. La table indique aussi les valeurs en
base 10 (décimal) et 16 (hexadécimal) du nombre correspondant.

Plusieurs points importants à propos du code ASCII :

– Les codes compris entre 0 et 31 ne représentent pas des caractères, ils ne sont pas
affichables. Ces codes, souvent nommés caractères de contrôles sont utilisés pour indiquer
des actions comme passer à la ligne (CR, LF), émettre un bip sonore (BEL), etc.

– Les lettres se suivent dans l’ordre alphabétique (codes 65 à 90 pour les majuscules, 97 à
122 pour les minuscules), ce qui simplifie les comparaisons.

– On passe des majuscules aux minuscules en modifiant le 5ième bit, ce qui revient à ajouter
32 au code ASCII décimal.

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
28

– Les chiffres sont rangés dans l’ordre croissant (codes 48 à 57), et les 4 bits de poids faibles
définissent la valeur en binaire du chiffre.

Remarque :

Pour coder ou décoder une information, il faut utiliser la table du code ASCII donnée ci-
dessous.

HEX MSD 0 1 2 3 4 5 6 7

LSD BITS 000 001 010 011 100 101 110 111

0 0000 NUL DLE SPACE 0 @ P - p

1 0001 SOH DC1 ! 1 A Q a q

2 0010 STX DC2 " 2 B R b r

3 0011 ETX DC3 # 3 C S c s

4 0100 EOT DC4 $ 4 D T d t

5 0101 ENQ NAK % 5 E U e u

6 0110 ACK SYN & 6 F V f v

7 0111 BEL ETB ' 7 G W g w

8 1000 BS CAN ( 8 H X h x

9 1001 HT EM ) 9 I Y i y

A 1010 LF SUB * : J Z j z

B 1011 VT ESC + ; K [ k {

C 1100 FF FS , < L \ l _

D 1101 CR GS - = M ] m }

E 1110 SO RS . > N ^ n ~

F 1111 SI US / ? O ← o DEL
Tableau 1 : Code ASCII

Exemple 1 : Codage de ENP Oran

E N P O r a n

ENP Oran = 45 4E 50 20 4F 72 61 6E

Exemple 2 : Décoder l’information 46 49 4E

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
29

46 49 4E

F I N = FIN

Les codes qui seront utilisés intensivement dans la suite des cours, pour leurs propriétés
intéressantes sont :

• Le code complément à 2
• Le code hexadécimal
• Le code ASCII.

La notion de bit :

Dans le domaine de l’informatique, la notion de bit n’est pas toujours le ‘0’ et le ‘1’ mais peut
avoir diverses signification selon la technologie utilisée. Le tableau ci-dessous définit la
notion de bit et la signification de niveau haut et de niveau bas selon la technologie utilisée.

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025
30

Résumé du cours :

1. Dans le code de la valeur absolue le bit de poids fort représente le signe. L’addition se fait
en examinant les signes des opérandes.

2. Dans le code complément à 1 le nombre négatif s’obtient en prenant le complément du


positif et vice versa. Deux relations de calcul selon la valeur des opérandes :

Code1(x+y)=code1(x) +code1(y) ou code1(x+y)=code1(x)+code1(y)+1

3. Le code complément à 2 du nombre négatif s’obtient en prenant le code complément à 1 du


positif +1. Une seule relation de calcul :

code2(x+y)=code2(x)+code2(y)

Il y a dépassement si l’addition de 2 nombres positifs donne un résultat négatif et vice


versa

4. Dans le code BCD chaque digit s’exprime par 4bit (0 à 9). Lors d’une addition si le résultat
est erroné (Retenue auxiliaire ou représentation du digit fausse), on ajoute 06, 60 ou 66. ou
on retranche les mêmes quantités pour une soustraction.

5. Dans le code hexadécimal le nombre négatif s’obtient en prenant le complément restreint


du positif auquel on ajoute 1. Un nombre est négatif si le digit de poids fort ≥8

6. Dans le code ASCII chaque symbole est représenté par un code (Utiliser le table ASCII).

ENP ORAN - Département de Génie Electrique –Module : Microprocesseurs – Notes de cours - Ahmed ZEBBACHE – Année 2024-2025

Vous aimerez peut-être aussi