Programmation du microprocesseur en langage machine Version PC et outils MS-DOS

Programmation du microprocesseur en langage machine Version PC et outils MS-DOS Patrick Cégielski Juin 2013 Pour Irène et Marie Legal Notice Copyright c ⃝2013 Patrick Cégielski Université Paris Est - Créteil – IUT Route forestière Hurtault F-77300 Fontainebleau cegielski@u-pec.fr iv Préface De nos jours, tout le monde ou presque a déjà utilisé un ordinateur 1, et en tous les cas certai- nement ceux qui désirent lire ce livre. Mais, de même qu’on conduit une automobile sans savoir comment elle fonctionne (tout au moins dans les moindres détails), on se sert d’un ordinateur sans savoir comment il a été conçu. On peut donc distinguer deux attitudes à l’égard des ordinateurs : conception et utilisation. Les deux attitudes sont importantes : on ne peut pas utiliser quelque chose qui n’existe pas, d’où l’intérêt de la conception ; à quoi bon concevoir quelque chose qui n’est pas utilisé, d’où l’intérêt d’un marché d’utilisateurs. On imagine bien que la conception doit être complexe, que ce soit celle d’un ordinateur ou d’une automobile. Mais contrairement à l’automobile, dont l’uti- lisation est relativement simple (sauf exception comme les formules 1, qui sont des automobiles à part), l’utilisation des ordinateurs connaît toute une gradation : simple (utiliser les ressources d’Internet, bureautique, jeux vidéo), un peu moins simple (programmation de petits utilitaires) jusqu’à extrêmement complexe (conception des logiciels de prévision du temps en météorologie, par exemple). L’utilisateur a, quant aux ordinateurs, seulement besoin de savoir ce que peut faire un ordi- nateur et considérer celui-ci comme une boîte noire. Ce qu’il peut faire peut rester à un niveau informel ou se modéliser comme machine de Turing (dont nous parlerons ci-après) ou tout autre modèle équivalent. On peut, et on doit, partir sur cette dernière base pour une utilisation intel- ligente. Si, donc, de nos jours, on aborde les ordinateurs en les utilisant on peut, dans une seconde éta- pe, s’intéresser à leur conception, soit par simple curiosité, soit parce qu’une connaissance même partielle permet quelquefois d’améliorer l’implémentation 2 de certains algorithmes ou la para- métrisation (administration système), soit parce qu’on veut effectivement concevoir une partie 1. Il s’agit plus spécifiquement d’un micro-ordinateur, mais ceci est un raffinement de classification qui n’a rien à voir avec notre sujet. 2. Mais jamais la conception, insistons sur ce point ! v vi BIBLIOGRAPHIE d’un nouveau système informatique. Les ordinateurs sont l’aboutissement d’une longue quête d’outils d’aide aux calculs 3. Bien entendu les plus utilisés et de très loin (puisque les autres sont soit d’une technologie dépassée, soit au stade expérimental) sont les ordinateurs électroniques 4. Nous ne nous intéresserons qu’à ceux-ci dans la suite. Les ordinateurs électroniques ont eux-mêmes connu une évolution au cours de leur histoire : ordinateurs utilisant des lampes électroniques (celles-ci ayant été créées à l’origine pour les besoins de la TSF), ordinateurs à transistors, ordinateurs à circuits intégrés. Seuls ces derniers sont utilisés de nos jours, sauf cas très spécial. On distingue dès l’abord deux aspects du point de vue de la conception : l’aspect matériel et l’aspect logiciel. Le premier concerne les circuits électroniques, les circuits électriques et les parties mécaniques (hardware en anglais, ce qui signifie quincaillerie), le second concerne tout ce qui est programmation (software en anglais, ce qui est un jeu de mot en remplaçant hard par soft). La distinction de ces deux aspects provient de ce qu’ils correspondent à deux métiers différents à l’origine, et même en grande partie de nos jours : l’aspect matériel est lié à la physique, plus particulièrement à l’électronique, alors que l’aspect logiciel est plutôt lié aux mathématiques. 0.1 Bibliographie [Wil-85] Williams, Michael R., A History of Computing Technology, IEEE Computer Society Press, 1985, second edition, 1997, xi + 426 p. 3. Cet aspect est malheureusement très mal traité dans la littérature. On pourra lire [Wil-85] pour une intro- duction. 4. Mais ce n’est pas la seule possibilité : le premier ordinateur, celui de Babbage (conçu mais non réalisé), était entièrement mécanique ; puis vinrent les calculateurs électro-mécanique (avec des relais téléphoniques) et enfin électroniques ; il existe aussi des ordinateurs pneumatiques, optiques et biologiques. Table des matières Préface v 0.1 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi I Modèle théorique 1 1 Modélisation théorique des ordinateurs 3 1.1 Données, opération et résultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Notion de registre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.1 Notion d’instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.2 Registres de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3.3 Instructions primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3.4 Structures de contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3.5 Unité arithmétique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.6 Programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 Fonctions calculables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.5 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.5.1 Machines d’aide aux calculs . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.5.2 Problèmes calculables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.6 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.7 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 II Les principes de la réalisation physique 25 2 Codage de l’information 27 2.1 Le contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.2 Codage des entiers naturels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.3 Codage des textes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.4 Appendice : conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.5 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . uploads/Ingenierie_Lourd/ bios.pdf

  • 15
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager