Add first part assembly language course
This commit is contained in:
parent
895172baad
commit
e7967137c1
1 changed files with 35 additions and 0 deletions
|
@ -87,4 +87,39 @@ C'est un langage non structuré avec des **instructions arithmétiques simples**
|
||||||
Les commentaires sont essentiels afin de marquer les points essentiels du code
|
Les commentaires sont essentiels afin de marquer les points essentiels du code
|
||||||
(début de test, branchement) et le rendre pus intelligible.
|
(début de test, branchement) et le rendre pus intelligible.
|
||||||
|
|
||||||
|
### Un peu d'histoire
|
||||||
|
|
||||||
|
* 1971: *Intel* commercialise le 4004 cadencé à 740 Khz et avec 640 bits de
|
||||||
|
mémoire
|
||||||
|
* 1972: *Intel* commercialise le 8008, registres de 8bits et 800Khz de
|
||||||
|
fréquence
|
||||||
|
* 1978: *Intel* commercialise le 8086 avec des registres de 16 bits et cadancé
|
||||||
|
jusqu'à 10 Mhz.
|
||||||
|
* 1985: *Intel* commercialise le 386 aved des registres de 32 bits et 4Go de
|
||||||
|
mémoire adressable. Ce processeur introduit la mémoire virtuelle.
|
||||||
|
* 1997: *Intel* commercialise le Pentium
|
||||||
|
|
||||||
|
### Un peu de vocabulaire
|
||||||
|
|
||||||
|
Voici un code en C :
|
||||||
|
|
||||||
|
```c
|
||||||
|
t[i]++
|
||||||
|
```
|
||||||
|
|
||||||
|
Et son équivalent en assembleur :
|
||||||
|
|
||||||
|
```asm
|
||||||
|
addl1 $1, t(%eax,4)
|
||||||
|
```
|
||||||
|
|
||||||
|
* `addl` : mnémonique, ici *add long*
|
||||||
|
* `$1` est `t(%eax,4)` sont des opérandes
|
||||||
|
* `$1` est une immédiat
|
||||||
|
* `%eax` est un resgistre
|
||||||
|
* `t` est une référence, il pointe vers un endroit de la mémoire
|
||||||
|
* `4` est un multiplicateur
|
||||||
|
|
||||||
|
On peu en déduire que `t(%eax,4)` est une **adresse mémoire**.
|
||||||
|
|
||||||
[l_vonneumann]:https://fr.wikipedia.org/wiki/Architecture_de_von_Neumann
|
[l_vonneumann]:https://fr.wikipedia.org/wiki/Architecture_de_von_Neumann
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue