La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cours de langage d'assemblage

Présentations similaires


Présentation au sujet: "Cours de langage d'assemblage"— Transcription de la présentation:

1 Cours de langage d'assemblage
08/04/2017 Cours de langage d'assemblage Dominique Warnant - Jean-Luc Collinet Année académique Ouvrages de référence (disponibles à la bibliothèque) Auto-formation à l'assembleur PC , HOFFMAN A., MicroApplication Assembleur x86, IRVINE K., Campus Press IBM PC Assembly language and Programming, ABEL P., Prentice Hall Le langage d’assemblage est très proche de la machine. Cela nous projettera directement au cœur du processeur. Il y a plusieurs langages d'assemblage selon le type de processeur. On dit que le langage est propre à un processeur. Nous travaillerons essentiellement avec une émulation d’un vieux processeur (Rappeler l'évolution 386,486,…) Les concepts restent les mêmes dans le futur (présent), il n’y a que la complexité qui croît. Autant voir le facile d’abord. Les programmes que vous écrirez ne seront pas spectaculaires car, en langage d’assemblage, il faut tout faire soi-même. Par exemple, afficher un nombre à l’écran, gérer son format binaire ou décimal,… Le langage d’assemblage permet donc un accès à toutes les possibilités de la machine. C'est un grand avantage. Piloter la carte écran directement par exemple,… Proche de la machine, le langage permet une rapidité plus grande d’exécution (si le programme n’est pas trop mal écrit). Dans un programme écrit en Pascal, certaines portions de code peuvent être écrites en langage d’assemblage pour une vitesse d ’exécution plus importante. (ex. : pour l’affichage à l’écran d’une animation) Nous étudions ce langage car il aide à comprendre le fonctionnement d'un ordinateur. Egalement, il permet de comprendre les systèmes d'exploitation (Dos,…) et la programmation appelée "système" à ce niveau. Les concepts que nous aborderons seront utiles dans des programmes bien plus complexes mais également dans d’autres langages (même évolués). Etre précis en langage d’assemblage, c’est déjà gagner beaucoup pour les autres langages car la moindre imprécision est sanctionnée ici. Souvent la sanction est un arrêt complet de la machine.

2 Cours de langage d'assemblage
08/04/2017 Cours de langage d'assemblage Dominique Warnant - Jean-Luc Collinet Année académique Qu’est-ce qu’un langage d’assemblage ? Très proche de la machine Propre à un processeur Accès à toutes les possibilités de la machine Rapide à l’exécution Pourquoi étudier ce langage ? Comment fonctionne l'ordinateur ? La programmation "système" Un atout pour être précis Le langage d’assemblage est très proche de la machine. Cela nous projettera directement au cœur du processeur. Il y a plusieurs langages d'assemblage selon le type de processeur. On dit que le langage est propre à un processeur. Nous travaillerons essentiellement avec une émulation d’un vieux processeur (Rappeler l'évolution 386,486,…) Les concepts restent les mêmes dans le futur (présent), il n’y a que la complexité qui croît. Autant voir le facile d’abord. Les programmes que vous écrirez ne seront pas spectaculaires car, en langage d’assemblage, il faut tout faire soi-même. Par exemple, afficher un nombre à l’écran, gérer son format binaire ou décimal,… Le langage d’assemblage permet donc un accès à toutes les possibilités de la machine. C'est un grand avantage. Piloter la carte écran directement par exemple,… Proche de la machine, le langage permet une rapidité plus grande d’exécution (si le programme n’est pas trop mal écrit). Dans un programme écrit en Pascal, certaines portions de code peuvent être écrites en langage d’assemblage pour une vitesse d ’exécution plus importante. (ex. : pour l’affichage à l’écran d’une animation) Nous étudions ce langage car il aide à comprendre le fonctionnement d'un ordinateur. Egalement, il permet de comprendre les systèmes d'exploitation (Dos,…) et la programmation appelée "système" à ce niveau. Les concepts que nous aborderons seront utiles dans des programmes bien plus complexes mais également dans d’autres langages (même évolués). Etre précis en langage d’assemblage, c’est déjà gagner beaucoup pour les autres langages car la moindre imprécision est sanctionnée ici. Souvent la sanction est un arrêt complet de la machine.

3 Plan général du cours les concepts fondamentaux
08/04/2017 Plan général du cours les concepts fondamentaux Représentation des informations en mémoire Description du processeur 8086 Etude de quelques instructions Petits programmes

4 Systèmes de numération
V 101 Vijf 5 Five Cinq 8 représentations différentes du nombre 5 système de numération

5 positionnels ex.: décimal Systèmes de numération non positionnels ex.: romain 1000 Mille M Un système de numération positionnel est caractérisé par sa base et par le nombre de symboles Base = valeur attribuée à 10

6 Système décimal base : 10 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
08/04/2017 Système décimal base : 10 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 4693 = 4* * * *100 Système hexadécimal base : ( = 1610 ) symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F A3C16 = A16* * C*10160 = 10* * *160 = 2620 Système binaire base : ( = 210 ) symboles : 0, 1 1012 = 12* * *1020 = 1*22 + 0*21 + 1*20 = 5

7 Conversion décimal  hexadécimal
5438 16 5424 339 16 14 336 21 16 = 3 16 E16 1 16 = 5 316 STOP = 1 516 = 116 = 153E16 Méthode des divisions successives par 16

8 Conversion décimal  binaire
149 1 74 37 1 18 9 1 4 2 1 1 = Méthode des divisions successives par 2

9 Conversion hexadécimal  décimal
*16 16 + 5 *16 336 + 3 *16 5424 + 14 = 543810 153E16 =

10 Conversion hexadécimal  décimal
autre méthode E16 = E * + 3 * + 5 * + 1 * E * + 3 * + 5 * + 1 * 110 14 1016 = 1610 1610 48 25610 1280 409610 4096 543810

11 Conversion binaire  décimal
*2 2 + *2 4 + *2 8 + 1 *2 18 + *2 36 + 1 *2 74 + *2 148 + 1 = 14910

12 Conversion binaire  décimal
autre méthode = 1 * + 1 * + 0 * + 1 * 1 * 1020 + 1 * 1021 + 0 * 1022 + 1 * 1023 110 1 102 = 210 210 2 410 810 8 1110

13 Conversion hexadécimal  binaire
16 = 24 Chaque chiffre hexadécimal  chiffres binaires 016  116  216  316  916  416  A16  516  B16  616  C16  716  D16  816  E16  F16 

14 Conversion hexadécimal  binaire
A C 16 1010 0100 1000 Remplacer chaque chiffre hexadécimal par son équivalent binaire (en 4 chiffres) Remarque : on peut supprimer les 0 en début de nombre X Exemple : 39D16 =

15 Conversion binaire  hexadécimal
A 4 8 C = A48C16 Regrouper les chiffres binaires par 4 (en commençant par la fin du nombre) Remplacer chaque groupe de 4 chiffres binaires par son équivalent hexadécimal Exemple : 00 3 9 B = 39B16


Télécharger ppt "Cours de langage d'assemblage"

Présentations similaires


Annonces Google