Télécharger la présentation
Publié parAthanase Frey Modifié depuis plus de 9 années
1
Nous devons écrire un programme pour le microcontrôleur
PIC16F84
2
La machine ne comprend que
:1000A 000F F :1000B A6 :1000C B168B :1000D A7 :1000E :1000F FF30A000A00B7B280800A500030E99 : A6000A08A7008A010408A8008B182A : B A00260EA0 : A50E250E09000B118B288B108B2840 Le langage machine
3
Le fabricant du microprocesseur fournit un nom correspondant
à chaque instruction ( mnémonique) que le programmeur utilise ; Wait255 MOVLW H'FF' ; attente de 255 cycle Wait ; attente de W cycle MOVWF fAux ; charger le nombre de cycle à attendre Wait10 DECFSZ fAux,1 ; décrémenter et tester GOTO Wait10 RETURN avec le langage Assembleur.
4
Mais il peut utiliser un langage plus « évolué » :
/* Wait : attendre pendant un certain temps */ void Wait255( ) // 255 passages pour ne rien faire { for (int i=0; i<255; i++) ; } le langage C. D'ailleurs pour ce micro, il n'y a pas d'autre langage disponible.
5
Avec notre PC et son pentium
Langage C /* Wait : attendre pendant un certain temps */ void Wait255( ) // 255 passages pour ne rien faire {int i; for ( i=0; i<255; i++) ; } Langage assembleur _TEXT segment dword public use32 'CODE' _Wait255 proc near push ebp mov ebp,esp push ecx @1: xor eax,eax mov dword ptr [ebp-4],eax @2: inc dword ptr [ebp-4] cmp dword ptr [ebp-4],255 jl @5: pop ecx pop ebp ret _Wait255 endp _TEXT ends Compilateur Compilateur Assembleur Langage machine ( fichier .obj ou exe )
6
Une Machine virtuelle est un programme qui simule un microprocesseur
Compilateur Le code est traduit en langage machine directement utilisable par le microprocesseur Pe : langage C Interpréteur Il n'y a pas de traduction mais les instructions sont décodées à l'exécutions par un logiciel appelé interpréteur. Pe langage Basic interprété. Machine virtuelle Le code est traduit dans un langage machine destinée à une machine virtuelle. Une Machine virtuelle est un programme qui simule un microprocesseur spécialement adaptée à un langage. Pe : Java ou CLR...
7
Code source innaccessible
Avantages Inconvénients Exécutable dépendant de la machine pour laquelle il est destiné (cible). Compilé Très bonne utilisation des ressources: Rapidité, faible Code source innaccessible interprété mauvaise utilsation des ressources, lent, nécessité la présence de l'interpréteur. Indépendant de la machine cible. Machine virtuelle Compromis entre les deux autres approches. Nécessite la présence d'une Machine virtuelle ou d'un processeur spécialisé. Facilite l'informatique distribuée. Code source innaccessible
8
Assembleur Basic Fortran ... Séquentielle Programmation Structurée C Pascal ... Objet C++ ADA Pascal Delphy VisualBasic
9
Le langage C est un langage évolué mais
ses créateurs voulaient garder toutes les possibilités de l'assembleur. Ce qui pour eux en était le principe fondamental devient un source de problèmes et d'erreurs pour beaucoup de programmeurs. Aussi de nombreuses implémentations possèdent des mécanismes qui brident les utilisateurs.
10
A suivre … © F.Minon 2008
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.