nsi:premiere:architecture:presentation_assembleur_vieux
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| nsi:premiere:architecture:presentation_assembleur_vieux [2023/09/13 15:55] – supprimée - modification externe (Date inconnue) 127.0.0.1 | nsi:premiere:architecture:presentation_assembleur_vieux [2023/09/13 15:55] (Version actuelle) – goupillwiki | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Assembleur -- ancienne version ====== | ||
| + | |||
| + | <WRAP todo>Il s'agit d'une ancienne version du cours.</ | ||
| + | |||
| + | ===== Compilation / Interprétation ===== | ||
| + | |||
| + | * Un langage de programmation comme Python, JS, C, ... est un langage pour le programmeur **humain**. | ||
| + | * La **machine** parle un langage binaire peu compréhensible pour l' | ||
| + | |||
| + | <WRAP tip>Dans les tous premiers temps de l' | ||
| + | |||
| + | Mais la machine continue à parler son langage. Donc il faut **traduire**. | ||
| + | |||
| + | * Certains langages -- Python, JS, PHP, ... -- sont **interprétés**. Ils refont la traduction à chaque exécution. | ||
| + | * Certains langages -- C, Rust, Go, ... -- sont **compilés**. La traduction est faite une fois. On exécute ensuite la version traduite. | ||
| + | |||
| + | <WRAP tip> | ||
| + | Vous pouvez comparer cela au travail de traducteur / interprète. | ||
| + | * l' | ||
| + | * le traducteur est comme celui écrite une version traduite d'un roman. | ||
| + | </ | ||
| + | |||
| + | ==== Quelques différences ==== | ||
| + | |||
| + | <WRAP group> | ||
| + | <WRAP half column> | ||
| + | === Cas interprété === | ||
| + | |||
| + | * Le programme interprète -- par exemple '' | ||
| + | * Le concepteur du programme n'a pas à se soucier du type de machine qui exécutera le programme du moment que celle ci possède une version de l' | ||
| + | * Le concepteur du programme est obligé de fournir le code du programme. On est open source. | ||
| + | * La traduction se faisant à la volée, elle est moins optimale. | ||
| + | </ | ||
| + | |||
| + | <WRAP half column> | ||
| + | === Cas compilé === | ||
| + | |||
| + | * Le programme compilé fonctionne seul. On n'a besoin de rien d' | ||
| + | * Le programme a été compilé pour un type de machine. Un programme compilé pour un PC 64 bits ne fonctionnera pas sur un PC 32 bits. Il faut produire diverses versions. | ||
| + | * Le concepteur n'a pas à fournir son code. Il donne seulement l' | ||
| + | * Le compilateur peut produire un exécutable mieux optimisé. | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== Le langage de la machine : Assembleur ===== | ||
| + | |||
| + | On appelle **Assembleur** le langage de la machine. Pour bien comprendre, rappelons comment la machine exécute le programme. | ||
| + | |||
| + | Pour comprendre comment fonctionne l' | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
