Langage machine¶
Familles de processeurs x86¶
Intel 8086 (1978)¶
![Registres Intel 8086](_images/registres8086.png)
Registres de l’Intel 8086 de 1978 (source: Wikipedia, Intel 8086, Registers and Instructions)¶
8 registres plus ou moins généraux de 16 bits
Adresses sur 20 bits
Modèle de mémoire segmentée
Intel 386 (1986)¶
![Registres Intel 80386](_images/registres8086.png)
Registres de l’Intel 80386 de 1986 (source: Wikipedia, i386)¶
8 registres plus ou moins généraux de 32 bits
Adresses sur 32 bits
Modèle de mémoire « à plat »
x86-64 (1999)¶
![Registres x86-64](_images/Table_of_x86_Registers.png)
Registres de l’architecture x86-64 (source: Wikipedia, x86-64)¶
Programmer avec des registres¶
Algorithme d’Euclide original:
# Entrée: deux entiers positifs ou nuls avec a >= b
while a != b:
if a > b:
a = a - b
else:
b = b - a
# Sortie: a est le plus grand commun diviseur de a et b