Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Comment utiliser PowerPoint
Premier programme en C :
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
Les procédures et interruptions en Assembleur (Tasm)
Le Clavier.
PROGRAMMATION LOGICIEL PL7 MICRO Consignes
Page 1 Déboguer un programme Java Jacques Lonchamp.
Assembleur
Le Concept du programme enregistré
. Si vous êtes revenu au gestionnaire de programmes et que vous êtes apparemment déconnecté : Solution : taper simultanément + pour remettre Apogée à l'écran.
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
Utilisation de VNC dans une salle informatique avec des élèves
La fonction Style Permet de créer des types de texte, par exemple
Créer un document LES FONCTIONS ENREGISTRER LES FORMATS Retour au menu principal.
Principe de défilement du document dans un traitement de texte
le nom du logiciel et le nom du fichier s’appelle la barre des titres
Les TABLEAUX Retour au menu principal.
Architecture de machines Le microprocesseur
Assistance à distance Parfois on se sent bien seul face à un problème informatique surtout si on n’est qu’un simple utilisateur. Lorsqu'un problème survient.
Prise en main rapide... Ou comment commencer avec RevisAudit ?
Systèmes d’exploitation
Emploi d’un logiciel de présentation graphique : PowerPoint
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Cours de programmation
RefWorks en 15 minutes. Programme 1)Créer un compte 2)Exporter des références 3)Créer un nouveau dossier 4)Organiser les références dans un dossier 5)Importer.
Créer une animation simple Gif avec ImageReady.
Les piles Djamal Rebaïne.
1 AUDACITY Yvan BAPTISTE – décembre Téléchargez le logiciel gratuit Audacity.
Création d’un programme :
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Création d'un diaporama Création d'un diaporama
Larborescence ou lorganisation des dossiers et des fichiers du disque dur.
LOGICIEL PL7 MICRO PROGRAMMATION MISE AU POINT Consignes?
1 CLUB DES UTILISATEURS SAS DE QUÉBEC COMMENT TRANSFORMER UN PROGRAMME SAS EN TÂCHE PLANIFIÉE SOUS WINDOWS Présentation de Jacques Pagé STRiCT Technologies.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Système d’exploitation : Assembleur
Micro contrôleurs Microchip Outil de developpement MPLAB
FICHIERS : Définition : Algorithme général:
Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique et de génie logiciel Développer.
Développer en C avec Eclipse Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique.
INSCRIPTION AUX ELEMENTS
Lien et procédures pour télécharger et installer la Visionneuse Office 2007 Pour ceux et celles qui nont pas la visionneuse 2003 exclusivement ! Si vous.
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Les guides de formation WS-FTP Comment télécharger un site web sur le serveur de lÉcole.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
« Créer un formulaire à saisir sous Calc »

Conversion de fichiers
Aire d’une figure par encadrement
Module 1 : Installation de Microsoft Windows XP Professionnel
Les relevés d’honoraires ODF  Cette option n’apparaît dans le menu que si vous utilisez les fiches d’ODF.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Dans la barre des messages, cliquez sur Activer la modification,
Les bases de l’assembleur
Création et présentation d’un tableau avec Word 2007
Programmer en langage c
Réaliser par : Moh Fakhri Slama
Pourquoi est-il nécessaire d'installer de nouveaux logiciels sur votre ordinateur ? J'exclus de cette présentation l'installation de nouveaux matériels.
Allumer votre matériel
Les guides de formation Conception de pages web. Guide Virtuose - version enseignant2 Guide - Conception de pages web Introduction Introduction, p. 3.
1 AUDACITY. 2 Avant de commencer, connectez un micro-casque à votre ordinateur.
Windows 7 et son explorateur
OMRON ® Contrôle de mouvements 1. OMRON ® Contrôle de mouvements 2 CX-Position Démarrage d ’un nouveau projet Démarrez CX-Position, créez un nouveau projet.
Introduction à CmapTools par Jacques-Antoine V-Lemay 3 septembre 2008 par Jacques-Antoine V-Lemay 3 septembre 2008.
En route vers le déploiement . . .
Patricia Renault UPMC 2005/2006
1 ITI 1520 Labo # 1 Introduction à l’environnement ÉITI Contribution: G. Arbez, M. Eid, D. Inkpen, A. Williams, D. Amyot.
LOGICIEL PL7 MICRO PROGRAMMATION MISE AU POINT Consignes?
Pourquoi ne faut-il pas jeter son ordinateur par la fenêtre ?
Transcription de la présentation:

Unité A2: Outils de programmation et types de données Objectifs : Vous vous familiariserez avec un environnement de programmation en assembleur. Vous saurez quels types de données sont supportées par le Pentium et comment les données d'un registre sont enregistrées en mémoire. Pour y arriver, vous devez atteindre les objectifs suivants : - décrire les types de données d'entiers, de virgule flottante et de programmation MMX. - décrire les approches little endian et big endian pour le rangement des données en mémoire. 62

Unité A2: Outils de programmation et types de données Il existe plusieurs logiciels pour programmer un PC en C/C++ et en assembleur. Les plus connus sont : Microsoft Visual Studio Borland C/C++ et Turbo C/C++ avec TASM Metrowerks Code Warrior Pour la programmation en assembleur standard, nous allons utiliser un assembleur autonome, Masm32, basé sur le MASM de Microsoft. 63

Unité A2: Outils de programmation et types de données 3.1 Masm32 Le programme principal de Masm32 s'appelle QEditor. C'est un éditeur de texte pour la programmation. Il comporte un menu Project qui permet la compilation d'un fichier assembleur (.asm). 64

Unité A2: Outils de programmation et types de données 3.1 Masm32 Pour créer un nouveau fichier, on clique sur New dans le menu File. On obtient alors une fenêtre vide. Une fois qu'on a écrit du code dedans, on peut la sauvegarder en cliquant sur Save ou Save As dans le menu File. On a deux modes de fonctionnement pour les entrées/sorties des programmes en assembleur. Le mode Console, qui utilise une fenêtre de style DOS, et le mode normal, qui nécessite de la programmation Windows pour utiliser des champs d'édition pour les entrées-sorties. Nous utiliserons les deux dans le cadre de ce cours. On utilise donc QEditor pour créer un code source en assembleur. Ensuite, on doit absolument enregistrer ce code sur disque au moyen de la commande Save ou Save As dans le menu File. Ensuite, pour un programme en mode normal on peut utiliser Compile ASM file, puis Link OBJ File, ou encore Assemble & Link dans le menu Project. 65

Unité A2: Outils de programmation et types de données 3.1 Masm32 Pour un programme en mode console, on utilise plutôt Assemble ASM file, puis Console Link OBJ File ou encore Console Assemble & Link. 66

Unité A2: Outils de programmation et types de données 3.2 Débogage Il est pratiquement indispensable d'utiliser un débogueur lorsqu'on programme en assembleur. Un bon débogueur permet : a. D'arrêter le programme à un point d'arrêt (breakpoint) spécifique. b. D'exécuter un programme pas à pas pour trouver une erreur. c. De visualiser le contenu des registres du processeur. d. De visualiser le contenu d'adresses mémoire. e. De désassembler le code généré. 67

Unité A2: Outils de programmation et types de données 3.2 Débogage Il existe deux débogueurs convenables gratuits : WinDbg (Microsoft Windows Debugger), version 5.1, et Enhanced Debugger d'Intel ou Edb32, version 4.5. Ce dernier, pourtant le meilleur des deux, ne fonctionne qu'avec Windows NT 4.0 ou Windows 2000. Vous pourrez l'utiliser dans les laboratoires du département. 68

Unité A2: Outils de programmation et types de données 3.2 Débogage Vous pouvez également utiliser Microsoft Visual Studio, fourni avec Visual C++, pour déboguer le code exécutable généré par l’assembleur Masm32. 69

Unité A2: Outils de programmation et types de données 3.2 Débogage Si vous êtes trop loin pour pouvoir vous prévaloir de nos laboratoires et que vous utilisez Windows 95 ou Windows 98, alors téléchargez WinDbg, disponible gratuitement à l'adresse : http://www.ift.ulaval.ca/~marchand/ift17583/Assembleur/Debug.html. ou encore utilisez Visual Studio. Avec WinDbg ou Edb32, on lance d'abord le débogueur. Ensuite, on ouvre un fichier exécutable à déboguer au moyen de la commande Open Executable… dans le menu File. Si le fichier source n'apparaît pas automatiquement, ouvrez-le avec la commande Open Source File… 70

Unité A2: Outils de programmation et types de données 3.2 Débogage On choisit ensuite dans le code source l'endroit où on veut commencer le déboguage. On y place le curseur et on invoque la commande Run to Cursor. Dans Windbg, cette commande est dans le menu Debug, tandis que dans Edb32, elle se trouve dans le menu Execute. On peut également placer un point d'arrêt en choisissant une ligne du code source et en appuyant sur la touche F9. WinDbg présente les barres d'outils suivantes : 71

Unité A2: Outils de programmation et types de données 3.2 Débogage Outils Restart Step Into (entre dans les sous-programmes) Step Over (considère un appel de sous-programme comme une seule instruction) Step Out (sort d’un sous-programme) Run to Cursor (exécute jusqu’à l’endroit où se trouve le curseur dans le code source) Registers (affiche la fenêtre Registres) Disassembly (désassemble le code compilé) 72

Unité A2: Outils de programmation et types de données 3.2 Débogage Pour démarrer le débogueur, cliquez sur la première icône en haut à gauche . L'exécution de votre programme devrait commencer et s'arrêter à la première instruction. Vous pouvez ensuite demander l'exécution pas à pas en cliquant sur l'icône ou sur l'icône . La première entre dans les sous-programmes, la seconde considère un sous-programme comme une seule instruction. L'icône vous permet de sortir d'une fonction ou d'un sous-pro- gramme, tandis que l'icône lance l'exécution jusqu'à l'instruction où se trouve le curseur d'édition. 73

Unité A2: Outils de programmation et types de données 3.2 Débogage Pour visualiser les registres, cliquez sur l'icône . La fenêtre suivante apparaît, dans laquelle vous pouvez observer les registres d'entiers et les registres de virgule flottante ainsi que les registres de segment, d'indicateurs, etc. Cette fenêtre est mise à jour à chaque instruction 74

Unité A2: Outils de programmation et types de données 3.2 Débogage 75

Unité A2: Outils de programmation et types de données 3.2 Débogage Pour visualiser le contenu de la mémoire, cliquez sur l'icône . Vous tapez ensuite une adresse dans la fenêtre d'édition en haut à gauche pour obtenir le contenu de cette adresse et des suivantes. La fenêtre de droite permet de choisir sous quel format on veut observer la mémoire. On a le choix entre ASCII, hexadéximal sur 8, 16 ou 32 bits, décimal signé ou non signé sur 16 ou 32 bits, ou virgule flottante de simple ou double précision. 76

Unité A2: Outils de programmation et types de données 3.2 Débogage 77

Unité A2: Outils de programmation et types de données 3.2 Débogage Pour visualiser du code désassemblé, cliquez sur l'icône . Vous verrez alors apparaître une fenêtre présentant, pour chaque instruction du code source en assembleur, en C ou en C++, le numéro de ligne, la traduction en assembleur, qui peut consister de plusieurs instructions, avec l'adresse où chacune est implantée et le codage en langage machine. 78

Unité A2: Outils de programmation et types de données 3.2 Débogage 79

Unité A2: Outils de programmation et types de données 4.1 Entiers 7 Octet 15 Mot 31 Double mot 7 4 3 BCD compacté 3 3 7 BCD non compacté 31 Pointeur near 47 32 31 Pointeur far Champ de bits Field length 80

Unité A2: Outils de programmation et types de données 4.2 Virgule flottante 31 8 23 Simple précision 63 Double précision 79 15 64 Précision étendue 79 Décimal compacté 81

Unité A2: Outils de programmation et types de données 4.3 MMX 63 Octets compactés 63 Mots compactés 63 Doubles mots compactés 63 Quadruples mots 82

Unité A2: Outils de programmation et types de données 4.4 SIMD Avec le Pentium 4, d’autres types de données seront définis: un registre de 128 bits pourra contenir 2 doubles, 4 floats, 4 longs, 8 shorts ou 16 octets. 127 Floats compactés 83

Unité A2: Outils de programmation et types de données 4.5 Rangement des données en mémoire 31 24 23 16 15 8 7 mot 1 mot 0 octet 3 octet 2 octet 1 octet 0 Registre octet 0 Adresse du double mot mot 0 octet 1 Adresse + 1 double mot octet 2 Adresse + 2 mot 1 octet 3 Adresse + 3 Mémoire 84

Unité A2: Outils de programmation et types de données 4.6 Temps d’exécution des instructions Le temps d’exécution du Pentium pour la plupart des instructions est de 1 à 5 cycles d’horloge. Des exceptions notoires sont : IMUL et MUL 11 IDIV et DIV 22 à 46 FDIV 39 à 42 Il faudra donc les éviter dans la mesure du possible si on veut du code performant. 85

Unité A2: Outils de programmation et types de données Le format d’une instruction assembleur est : Étiquette Opcode Opérande(s) ; commentaire Format des étiquettes: ici: @1: Opcode: mnémonique tel que mov, add, etc. Opérandes: destination, source Exemple: add ax, bx ; ax = ax + bx mov eax, ebx ; eax = ebx 86