Salutations à vous tous,
Je vous souhaite une magnifique journée, chers lecteurs et lectrices. Aujourd'hui,
je vais vous parler et continuer de mon sujet précédent de la semaine dernière, celui des langages assembleurs et comment il sont utilisés maintenant.
Pour être plus précis, cet article sera au sujet de comment nos technologies modernes ont évolué des langages assembleurs à l'utilisation de langue plus moderne.
Ces jours-ci, ces langages sont rarement utilisés par soi-même. Plus souvent, ils sont combinés avec d'autres de plus haut niveau comme c, ou ne sont plus utilisés du tout.
Par exemple, windows 8, est fait à partir de c et assembly (Microsoft (micro) assembler).
Windows 10 n'utilise même plus cette fusion et est écrit avec un mix de C++, C# et utilisant le .NET Framework
Le premier jeu pokémon a été écrit avec le langage assembleur Z80, mais plus tard, avec la publications de plusieurs autres nouvelles générations de jeux, Nintendo a transitionné de assembly à C, et ensuite à C++.
Et généralement, nos technologies modernes qui interagissent avec les composantes de base de l'architecture d’ordinateur sont écrites en C ou avec des langages de haut niveau plus avancé (comme C++ ou même C#).
Donc, il peut être dit que principalement, les langages assembleurs sont utilisés dans des situations extrêmement niche ou plus pointu et spécifique. Pour cet article, je me concentrerais sur seulement un exemple, et ce sera celui des systèmes embarqués, ou appelés en anglais "embedded systems".
Systèmes embarqués?
Les systèmes embarqués sont vastes et nombreux, répandus partout dans notre société et notre vie quotidienne. Ceux-ci sont des systèmes informatiques ayant comme responsabilité d'exécuter une tâche précise dans l'appareil auxquels ils sont intégrés. La tâche spécifique d'un système embarqué est normalement effectuée sur un microcontrôleur, un microprocesseur ou un FPGA(field-programmable gate array). Des exemples incluent les télévisions, lave-vaisselles, consoles de jeux, téléphones, et, etc.
Et comment est-ce que le langage assembleur joue un rôle dans ça?
Intel a introduit en 1981 la création d'un microcontrôleur 8-bit appelé le 8051. Devenue vastement populaire à cause de ses capacités impressionnantes,
la compagnie permettra à la 8051 d'être reproduite et modifiée par d'autres fabricants. Cette permission mènera éventuellement à la création de différente
"saveur" de la 8051. Les plus notables étant les microcontrôleurs 8052 et 8031. Quand je dis "saveur", c'est un autre nom pour signifier les membres de la famille de 8051.

Donc, pourquoi est-ce que je parle de 8051? C'est parce jusqu'à nos jours présents, celui-ci est quand même utilisé dans nos technologies courantes à cause
de sa simplicité, polyvalence et large gamme d'applications.
C'est donc le meilleur exemple que je peux vous donner pour expliquer comment un programme 8051 est assemblé et exécuté.
- 1) Premièrement, il faut utiliser un éditeur comme MS-DOS EDIT qui permet de créer et de modifier un programme. Celui-ci doit être capable de produire des fichiers ASCII et de fournir l'extension .asm à ses fichiers.
- 2) Deuxièment, quand le programme est créé et que le fichier .asm est généré, celui-ci est entré dans l'assembleur 8051 et converti le langage assembleur en du code machine pour produire deux fichiers: un .obj(fichier objet) et un .lst(fichier liste)
- 3) Troisièmement, l'assembleur nécessite une étape d'enchaînement pour produire un troisième fichier de type .abs(absolute file)
4) Finalement, le fichier .abs est fourni à un programme convertisseur d'objet à hex appelé "OH" qui sort un fichier de type .hex. Ce fichier est maintenant prêt à être gravé dans la ROM de la 8051.
Maintenant que la ROM du microprocesseur est gravée, la fonctionnalité de celui-ci est déterminée et elle peut effectuer sa tâche. De détecter un feu et d'analyser la température jusqu'au système de stabilisation d'une machine de guerre, tout est possible.
Et voilà, une brève description d'un exemple de comment le langage assembleur interagit avec une de nos technologies qui couramment utilisé.
À bientôt!
Munoz Daniel, «After All These Years, the World Is Still Powered by C Programming», Developers, https://www.toptal.com/c/after-all-these-years-the-world-is-still-powered-by-c-programming, (Page consultée le 18 février 2024)
«Microsoft Macro Assembler», Wikipedia, https://fr.wikipedia.org/wiki/Microsoft_Macro_Assembler, (Page consultée le 18 février 2024)
«Assembly Language», Teach Computer Science, https://teachcomputerscience.com/assembly-language/, (Page consultée le 18 février 2024)
«What Language is Windows 10 Written in?», SoftKeys.uk, https://softkeys.uk/blogs/blog/what-language-is-windows-10-written-in, (Page consultée le 18 février 2024)
«Embedded Systems - Assembly Language», TutorialsPoint, https://www.tutorialspoint.com/embedded_systems/es_assembly_language.htm (Page consultée le 18 février 2024)
«Système embarqué : qu’est-ce que c’est ?», Cats Power Design, http://www.catspowerdesign.fr/actualites/systeme-embarque, (Page consultée le 18 février 2024)
«Intel 8051», Wikipedia, https://fr.wikipedia.org/wiki/Intel_8051, (Page consultée le 18 février 2024)
Indian Institute Of Embedded Systems, «The Architecture and Real world Applications of 8051 Microcontrollers», LinkedIn, https://www.linkedin.com/pulse/architecture-real-world-applications/, (Page consultée le 18 février 2024)
Commentaires1
Assembly
Bon article! C'est certain que tu as fait l'article en avance en place d'attendre jusqu'à la dernière minute pour commencer! Esc-ce que couvrirez-vous des jeux-vidéos dans vos articles futurs?