Académique Documents
Professionnel Documents
Culture Documents
Pierre Corbineau
IESE3 S5
2022–2023
Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule
À Propos de ce cours
Qui ?
I Pierre Corbineau (cours, TD)
pierre.corbineau@univ-grenoble-alpes.fr b
I Sylvain Toru & Frédéric Rousseau (TD, TP)
sylvain.toru@univ-grenoble-alpes.fr b
frederic.rousseau@univ-grenoble-alpes.fr b
I Liliana Andrade (TP)
liliana.andrade@univ-grenoble-alpes.fr b
I Pascal Reynaud (Ingénieur ST Microelectronics, TP)
Quoi ?
I Introduction à la programmation des microcontrôleurs
I Support : carte STM32F446-Nucleo (ARM Cortex-M4)
Où ? Quand ? Évaluation ?
Z Consultez ADE. exam écrit + exam TP b
Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023
Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule
Exemple : le STM32F446
(bn−1 bn−2 . . . b2 b1 b0 )2
I octet (b7 b6 b5 b4 b3 b2 b1 b0 )2
I demi-mot (b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 )2
I mot
(b31 b30 b29 b28 b27 b26 b25 b24 b23 b22 b21 b20 b19 b18 b17 b16 b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 )2
(01101011)2 = ( . . . . . . . . . . . . . . . . . . . . )2
Utilisations :
I En combinaison avec le ET bit à bit (masques).
I Calcul du complément à 2.
I En assembleur : mvn (MoVe Not)
I En C : ∼ (tilda = AltGr+2)
(01101011)2 OU(00110110)2 = ( . . . . . . . . . . . . . . . . . . )2
Utilisations :
I Masque pour mettre des bits à 1.
(b7 b6 b5 b4 b3 b2 b1 b0 )2 OU(00110110)2 = ( . . . . . . . . . . . . . . . . . . )2
(01101011)2 ET(00110110)2 = ( . . . . . . . . . . . . . . . . . . )2
Utilisations :
I Masque pour isoler un bit ou plusieurs bits.
(b7 b6 b5 b4 b3 b2 b1 b0 )2 ET(00110000)2 = ( . . . . . . . . . . . . . . . . . . )2
I Masque pour mettre des bits à 0.
(b7 b6 b5 b4 b3 b2 b1 b0 )2 ET(00110110)2 = ( . . . . . . . . . . . . . . . . . . )2
I En assembleur : and, bic (BIt Clear = ET NON).
I En C : & ("esperluette","ampersand")
Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023
Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule
Utilisations :
I Masque pour inverser des bits.
Numération de position
bit b7 b6 b5 b4 b3 b2 b1 b0
poids 27 26 25 24 23 22 21 20
exemple 0 1 1 0 1 0 1 1
bi × 2i
valeur ( . . . . . . )10
bit b7 b6 b5 b4 b3 b2 b1 b0
exemple 54
reste
Notation hexadécimale
Hexadécimal :
I Notation en base 16 avec 16 symboles distincts :
I les chiffres arabes 0 à 9
I les lettres latines a à f ou A à F (pour les valeurs 10 à 15)
I Un chiffre en base 16 peut remplacer 4 bits
I Hexadécimal = représentation compacte du binaire
I 32 bits = 8 chiffres hexa (ex : 0xdeadbeef)
Table de correspondance :
0 1 2 3 4 5 6 7
0000 0001 0010 0011 0100 0101 0110 0111
8 9 a/A b/B c/C d/D e/E f/F
1000 1001 1010 1011 1100 1101 1110 1111
1 0 1 0 1 0 1 1
+ 1 0 1 1 0 0 1 1
résultat
Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023
Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule
Débordement :
I indicateur Carry (128)10 (127)10
Complément à 2
Principe du complément à 2 :
I passer de la représentation binaire de N à celle de −N
I remarque sur le complément à 1 :
Soustraction
A − B = A + (−B) = A + (B + 1)
I L’indicateur C vaut 0 en cas de débordement non-signé ( si
A < B ).
I L’indicateur V (de l’addition) indique toujours un
débordement signé.
Multiplication
bit b15b14b13b12b11b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
1 1 1 0 1 0 1 1
× 1 0 1 1 0 0 1 1
1
1
0
0
1
1
0
1
résultat
Décalage à gauche
Rotations
I ROR = ROtation Right, RRX = Rotation Right eXtended
I paramètre = nombre de positions à décaler (ROR
seulement)
I indicateur C = dernier bit qui sort (et rerentre)
Exemple : rotation à droite de trois positions