Architecture des ordinateurs

Documents pareils
CSI351 Systèmes d exploitation Instructions pour rouler Linux avec Virtual PC dans la salle de labo 2052

wxwidgets dans un environnement Microsoft Windows

Instructions Mozilla Thunderbird Page 1

TP Wireshark. Première approche de Wireshark. 1 ) Lancer Wireshark (double clic sur l icône sur le bureau). La fenêtre

Introduction à Eclipse

pas à pas prise en main du logiciel Le Cloud d Orange - Transfert de fichiers sur PC et MAC Le Cloud

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

Once the installation is complete, you can delete the temporary Zip files..

Procédure d Installation et de mise à jour du client CAN-8 32 bits

Principe de fonctionnement du lanceur d'application "AdisTlsStartCfgLotus"

PACK ADSL WIFI. Configurer ma connexion ADSL avec Modem/Routeur Sagem 1400W

ESPACE COLLABORATIF. L Espace Collaboratif : votre espace de partage entre acteurs régionaux

Menu Fédérateur. Procédure de réinstallation du logiciel EIC Menu Fédérateur d un ancien poste vers un nouveau poste

Installation d un manuel numérique 2.0

Guide d installation des licences Solid Edge-NB RB

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

Convertisseur BBAN/IBAN

BIRT (Business Intelligence and Reporting Tools)

Petit guide d utilisation Prezi

Compilation (INF 564)

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

Guide d installation CLX.PayMaker Office (3PC)

Installation et compilation de gnurbs sous Windows

Installation de Microsoft Office Version 2.1

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Boîtier pour disque dur externe 3,5" (8,89cm) USB 2.0

Quelques outils pour le logiciel «Tuxpaint»

Créer un fichier PDF/A DÉPÔT ÉLECTRONIQUE

Comment Créer une Base de Données Ab Initio

Eclipse atelier Java

Quels sont les espaces disponibles sur l ordinateur pour stocker ses documents et comment accéder facilement au dossier «My Documents»?

Tutoriel code::blocks

Telecharger gratuitement convertisseur de fichier word en pdf

Activation de la licence

Sauvegarde d'une base de données SQL Server Express 2005

LOGICIEL DC4D MONITOR

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

WEB page builder and server for SCADA applications usable from a WEB navigator

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Summary / Sommaire. 1 Install DRIVER SR2 USB01 Windows seven 64 bits / Installation du DRIVER SR2 USB01 Windows seven 64 bits 2

Notice Technique / Technical Manual

Le langage C. Séance n 4

Réparer un disque dur passé en RAW

ENVOI EN NOMBRE DE MESSAGES AUDIO

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

PACKZ System Requirements. Version: Version: Copyright 2015, PACKZ Software GmbH. 1

USB LANPORT 400. Manuel

Guide de prise en mains du User Center

Introduction à la présentation graphique avec xmgrace

Manuel d'installation de GESLAB Client Lourd

Organiser le disque dur Dossiers Fichiers

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

MANUEL UTILISATEUR SOPISAFE V 3.5

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

I. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes):

Utilisation d une tablette numérique

Création d un formulaire de contact Procédure

MEDIA NAV Guide de téléchargement de contenus en ligne

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

TD/TP 1 Introduction au SDK d Android

Procédure d installation d AMESim 4.3.0

HTTP Commander. Table des matières. 1-Présentation de HTTP Commander

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

SCL LOGICIEL DE CONTROL

SVP j ai besoin d aide!

Rappels d architecture

FAQ pour tablette Windows 8 (NS-15MS0832 et NS-15MS0832B) Avril 2015

Formation des collecteurs de traces. Récupération des traces

Utilisation de l outil lié à MBKSTR 9

GUIDE NSP Activation et gestion des produits avec NSP

A Libre Ouvert. Médiathèque Jacques Ellul. le

GUIDE D'INSTALLATION DU PGI EBP EN ETABLISSEMENT

Vous pouvez à présent à reconfigurer votre messagerie en cliquant ici.

Création d installateurs pour Windows avec InnoSetup

Description pas à pas des différents processus d installation, configuration, saisie des résultats et export des données.

Documentation FOG. 3. Choisir le nom de la machine, le nom d utilisateur et le mot de passe correspondant (par exemple : fog, password)

Tutoriel de formation SurveyMonkey

Fiche d utilisation du logiciel. 1 - Installation. J. Thioulouse & D. Chessel

Aucune limite de taille de fichier et publicit superpose - un convertisseur en ligne gratuit et simple qui transforme vos fichiers Word en PDF.

Q-Checker pour V6 Release 2.1

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Base élèves : des étiquettes avec OpenOffice 2.0

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

Guide d installation du logiciel Proteus V.8 Sous Windows Vista, 7, 8

FANTEC DB-229US Manuel de l'utilisateur

esms Desktop Guide de l utilisateur

Guide de l utilisateur Faronics System Profiler Standard

Guide d installation de MySQL

Bases de données. Table des matières. Introduction. (ReferencePlus.ca)

WORKSHOP OBIEE 11g (version ) PRE-REQUIS:

Sélection du contrôleur

Installation d un patch de mise à jour et d un pack langue dans SugarCRM Open Source 4.5.1

Introduction à Windows 8

F.A.Q 1.0 Designer 3D Atex System

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Procédure d'utilisation de Password Gorilla

Transcription:

Architecture des ordinateurs Travaux pratiques N 2 Programmation Assembleur M68K - First Step Objectif de cette séance Le but de ce TP est d'introduire l édition, la compilation et la simulation avec EASy68K. Cette fiche est à faire en binôme. Il faudra : 1. Réaliser un rapport à rendre au format pdf contenant les réponses aux questions de cette fiche ; 2. Envoyer le rapport à l'adresse de votre chargé de TP : mahmoudr@esiee.fr 1. L environnement de travail EASy68K L environnement EASy68K est un ensemble de programme permettant de manipuler, apprendre, tester des programmes en assembleur 68000 (68K) de Motorola. Ce simulateur est gratuit, open source et sous License GNU General Public Use Licence. Fig. 1. Un aperçu des outils offerts par l environnement EASy68K Pour pouvoir l utiliser sous Windows, il suffit de télécharger puis lancer l installateur SetupEASy68K.exe. Télécharger SetupEASy68K.exe depuis http://www.easy68k.com/ Sachant que les utilisateurs sous Linux ou Mac peuvent l installer sous l émulateur Windows, en tant que super utilisateur, avec la commande : wine./setupeasy68k.exe 1/7

Une fois cet environnement est installé, vous disposeriez d un menu similaire à celui-ci : Fig. 2. Le menu de l environnement EASy68K sous Windows L environnement EASy68K comporte un éditeur EASy68K, un Help, un simulateur Sim68K et un éditeur binaire EASyBIN qui permet de manipuler des zones mémoires ou des fichiers S-Record. Ces fichiers peuvent être manipulés en hexadécimal ou en mode texte. 1.1. Les fichiers manipulés Afin de tester un programme assembleur, vous devez suivre plusieurs étapes. Le diagramme de la figure suivante illustre les étapes par lesquelles passe un programme écrit en assembleur 68000. EASy68K editor *.X68 EASy68K asm68k *.S68 *.L68 EASy68K sim68k Fig.3. Les fichiers manipulés lors de la programmation assembleur 1) La première étape est d éditer un fichier (EASy68K) contenant le code du programme assembleur dont l extension doit être.x68 2) Une fois le fichier.x68 est enregistré, vous pouvez le compiler. Cette étape génère deux fichier : un pour la simulation (exécutable) d extension.s68 et un autre pour le debuggage d extension.l68 3) La simulation de ce programme est assurée par le programme Sim68K. 2/7

1.2. Description d une ligne de code Un programme en assembleur 68000 est constitué par des lignes de la forme : Label Opcode Operand Comment.loop ADD D0,D1 Add two numbers BMI.loop Loop while negative Fig. 4. Les champs d une ligne de code assembleur 68000 Label : une étiquette définie par le programme pour marquer un endroit du programme Opcode : une instruction que le processeur peut exécuter Operand : les données nécessaires à l exécution des instructions Comments : des explications pour documenter le programme. 2. Édition, compilation et simulation 2.1. Création et édition d un programme Lancer l éditeur EASy68K et créer un nouveau fichier. Saisissez puis enregistrer le programme suivant dans le répertoire Assembleur68K de votre espace de travail sous le nom Exemple_1.X68. $1000 The program will load into address $1000 * Display HELLO massage * See Help / Simulator IO for a complete list of task numbers START MOVE #14,D0 Put text display task numbers LEA HELLO,A1 Load address of string to display into A1 TRAP #15 Activates input/output task * Display the contents of register D1 * task number 3 is used to display the contents of D1.L as number MOVE.L #12345678,D1 Put a number in D1 so we can display it MOVE #3,D0 Task number 3 in D0 TRAP #15 Display number in D1 * Stop execution MOVE.B #9,D0 TRAP #15 Halt Simulator HELLO DC.B Hello World, $D, $A, 0 Null terminated string with null END START 3/7

Description du programme: La première instruction spécifie l adresse à partir de la quelle le programme sera chargé dans la mémoire. Le $ signifie que l adresse est en hexadécimal. $1000 The program will load into address $1000 Les lignes qui commencent par * sont des commentaires. Exemple : * Display HELLO massage Mettre 14 dans le registre D0 (14 est le numéro identifiant la tâche d affichage). Cette ligne est référencier par l étiquette START. START MOVE #14,D0 Put text display task numbers Charger l adresse de début du message à afficher, dans le registre A1, sachant que l adresse du message est référencier par l étiquette HELLO : LEA HELLO,A1 Load address of string to display into A1 L instruction suivante active la routine task d entrée/sortie du simulateur Sim68K, sachant que le numéro de la tâche à exécuter est dans le registre D0. TRAP #15 Activates input/output task Les lignes suivantes permettent de charger le nombre 12345678 dans le registre D1 puis de l afficher 1 en utilisant la tâche numéro 3 de la routine TRAP #15. MOVE.L #12345678,D1 Put a number in D1 so we can display it MOVE #3,D0 Task number 3 in D0 TRAP #15 Display number in D1 Les deux lignes suivantes indiquent au simulateur d arrêter la simulation : MOVE.B #9,D0 TRAP #15 Halt Simulator La chaîne de caractère nommée HELLO est définit par la déclaration suivante. Cette variable contient le message Hello World et se termine par un retour à la ligne ($D) poursuivi par une terminaison nulle. HELLO DC.B Hello World, $D, $A, 0 Null terminated string with null La dernière ligne du programme indique la fin du programme, sachant que START est l étiquette à partir de la quelle le simulateur commence l exécution. END START 1 Afficher le contenu du registre D1.L en tant que nombre 4/7

2.2. Compilation, exécution et debuggage Le bouton (project -> Assemble source) permet de compiler le fichier que vous avez sauvegardé. Si vous n avez pas fait de fautes lors de la saisie du programme, vous aurez 0 Warnings (des erreurs qui n arrête pas la compilation) 2 et 0 Erros (Des erreurs qui causent l arrêt de la compilation et la non génération du fichier.s68) 3. La figure suivante illustre ce cas de compilation sans erreurs. Fig.6. Compilation Fenêtre des erreurs Cette fenêtre permet d afficher le fichier.l68 ( ) ou de lancer le simulateur via le bouton exécute ( ). Une fois le simulateur est lancé, vous avez le choix entre plusieurs mode d exécution. Ces modes seront très utiles pour le débuggage de vos programmes. L exécution de ce programme se termine par l affichage de la fenêtre donnée par la figure suivante : 12345678 Fig.7. Fenêtre d E/S du simulateur Dans le cas ou le programme contient des erreurs, des messages d erreurs localisant ces fautes seront affichés dans la partie basse de l éditeur. Il suffit de cliquer sur un message pour être diriger vers la aligne contenant l erreur. Le fichier log.l68 permet aussi de localiser l erreur avec plus de détails. 2 Des messages auxquels il faut faire attention, car ils peuvent induire à des erreurs sur les résultats 3 Les erreurs syntaxiques, les fautes de frappe 5/7

2.3. Simulation du programme La figure suivante affiche la fenêtre principale du simulateur permettant de suivre l évolution de l exécution du programme. Fig.8. La fenêtre principal du simulateur Cette fenêtre permet de suivre l évolution des registres D0 D7, A0 A7, SS, US, SR et PC au cours de la simulation d un programme. Elle offre aussi divers outils pour la manipulation et la suivie du contenu de la mémoire, de la pile, ainsi qu une maquette de simulation hardware. Cette fenêtre affiche aussi le fichier.l68 au cours de la simulation. Ce fichier comporte plusieurs colonnes qui simplifient la compréhension et la suivie de l exécution du programme : Adress : l adresse à partir de la quelle l instruction commence ; Code : le code de l opération en hexadécimal Line : Le numéro de la ligne correspondante ; Source : le contenu du fichier source du programme La barre d outils offre aussi plusieurs boutons permettant d interagir avec le simulateur, en sélectionnant le mode de simulation ainsi que l opération à réaliser. Vous pouvez consulter l aide du logiciel pour plus d informations sur les fonctionnalités offertes par le simulateur. 6/7

3. Travail demandé Exécuter le programme en mode ligne par ligne et suivez l évolution des registres pour répondre aux questions suivantes : Q1. Faites une exécution en mode ligne par ligne et dresser un tableau contenant les registres qui changent à chaque étape. Q2. Afficher le contenu de la mémoire, Q3. Donner les adresses de début et de fin de la partie code et de la partie données de ce programme. Q4. Localiser ka variable Hello dans la mémoire et donner la liste des codes ascii correspondant aux caractères de ce message. Q5. Comment peut-ton définir la tâche que doit effectuer l instruction trap #15, et comment elle récupère les paramètres nécessaires. 4. Bonus Q1. Modifier le code précédent pour afficher plusieurs lignes de texte. Vous pouvez vous inspirer de l exemple donné dans le Quick Start Programs à l adresse suivante : http://www.easy68k.com/easy68kexamples.htm Q2. Tourner puis décrire les résultats renvoyés par les exemples de codes de Lab2 donnés en téléchargement à l adresse suivante : http://www.esiee.fr/~mahmoudr/architecture.html 5. Bibliographie [1] TP programmation assembleur 68000 sous l environnement «EASy68K», S. Bazine et I. Ben Ameur. [2] http://www.easy68k.com/ [3] http://mycorner.no-ip.org/68k/easy68k/index.html 7/7