T.P. 2 Calculatrice (partie 1)

Documents pareils
Chap III : Les tableaux

CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

1.1 L EXPLORATEUR WINDOWS

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

TP sauvegarde et restauration avec le logiciel Cobian Backup

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Procédure de sauvegarde pour AB Magique

TP1 : Initiation à Java et Eclipse

Guide de l enseignant. pour le Passeport Sécurité. Mise à jour : 10 août 2015

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Mon aide mémoire traitement de texte (Microsoft Word)

Écriture de journal. (Virement de dépense)

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Structure du format BMP, sa lecture, sa construction et son écriture

Esterel The french touch star touch esterel advance

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

La gestion des dossiers sous Windows Vista, W7, W8.

ASR1 TD7 : Un microprocesseur RISC 16 bits

Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.

Instructions Installation ELLIS Business: Vidéo Local Windows 2003 & XP poste de Travail

Excel 2007 Niveau 3 Page 1

Codage d information. Codage d information : -Définition-

TD : Codage des images

Programmation assembleur : aperçu

Objectifs du TP : Initiation à Access

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

Barres Manuel d utilisation. Manuel d utilisation. version I.2.0. Copyright Antilog 1998/2002 Tous droits réservés. JT.Gueux@log-1.

Représentation des Nombres

Travail d évaluation personnelle UV valeur C : IRE. Planification de réseaux : Simulateur IT-GURU Academic Edition

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Étape 1 : Création d une adresse courriel GMAIL

EXCEL PERFECTIONNEMENT CALCULS AVANCES

GUIDE D UTILISATION DU BACKOFFICE

LES TYPES DE DONNÉES DU LANGAGE PASCAL

PLATEFORME SAAS D'ENVOI DE SMS. Guide du débutant UTILISER LA PLATEFORME SMSMODE TUTORIEL

La mémoire. Un ordinateur. L'octet. Le bit

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

STAGE IREM 0- Premiers pas en Python

Licence Sciences et Technologies Examen janvier 2010

Rappels d architecture

COMMENT TROUVER VOS FUTURS CLIENTS À L INTERNATIONAL? 05/03/2015 Creditsafe France

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Création de maquette web

Améliorer le contenu d une encyclopédie collaborative. Faire preuve d esprit critique

Assistant d e tablissement de Tableaux

Comment réaliser une capture d écran dans Word. Alors comment ouvrir une page Word?

La Clé informatique. Formation Excel XP Aide-mémoire

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

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

Microprocesseur + Logiciel

Poll-O Guide de l utilisateur. Pierre Cros

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

PROSPECTION CLIENTS. À Présentation : PROSPECT. 2 Téléchargement. 3 Installation. 6 Ecran d accueil. 7 Paramétrage. 13 Utilitaires

Manuel v. 6sV Simplement surfer. Simplement cliquer. Simplement bloguer.

Convertisseur BBAN/IBAN

HD 5.60 : «Ecritures des opérations diverses»? La comptabilité libérale est une comptabilité simplifiée par rapport au plan comptable (PCG) de 1999.

TP3 : Manipulation et implantation de systèmes de fichiers 1

DM 1 : Montre Autoquartz ETA

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

Une introduction aux codes correcteurs quantiques

Initiation à LabView : Les exemples d applications :

Fonctions homographiques

Ecran principal à l ouverture du logiciel

Les outils numériques permettant l enregistrement de documents audiovisuels diffusés sur Internet sont nombreux. Certains sont gratuits.

Organiser le disque dur Dossiers Fichiers

Saisir des règlements par le relevé de banque

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

TP1 : Initiation à Java et Eclipse

Allegroupe. Système de gestion des paiements préautorisés

C. SCIT Le 9 juillet 2003

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

Utilisation de la Plateforme Office365 et d Oultlook Web App

Le backup LOGOSw (Backup interne)

PROCEDURE D EXPORT-IMPORT DU CERTIFICAT InVS INTERNET EXPLORER

Manuel d'installation de GESLAB Client Lourd

Vous venez d acquérir un fichier de données issues de la Base de données SIRENE. Comment utiliser votre fichier?

AIDE à l utilisation du cédérom «L athlétisme à l école» Niveau Primaire SOMMAIRE

1- Enregistrer le nouveau planning

Pompes à Chaleur & environnement acoustique. Recommandations pour la mise en œuvre des pompes à chaleur. Fiche technique n 1

Représentation d un entier en base b

TUTORIEL : Formulaire sur Google : Saisie des réponses questionnaires comptoir Mise en place de questionnaires à distance

Transfert de notices bibliographiques et d autorité en ligne depuis BnF catalogue général Mode d emploi complet

BIRT (Business Intelligence and Reporting Tools)

Guide d installation UNIVERSALIS 2014

Documentation. Manuel Utilisateur. E-Shop

Unity Real Time 2.0 Service Pack 2 update

Nous venons de voir que la tablette Kindle Fire est une excellente liseuse et un agréable

Guide d utilisation commandes des pièces de rechange Rev.1.0.3

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

Documentation. Manuel Utilisateur. E-Shop

Gérer ses fichiers et ses dossiers avec l'explorateur Windows. Février 2013

Feuille TD n 1 Exercices d algorithmique éléments de correction

AC PRO SEN TR «services TCP/IP : WEB»

TP 1 Prise en main de l environnement Unix

Algorithmique I. Algorithmique I p.1/??

Architecture des ordinateurs

Environnements de développement (intégrés)

Transcription:

T.P. 2 Calculatrice (partie 1) On désire réaliser une petite calculatrice possédant les quatre opérations de base (addition, soustraction, multiplication et division). Exemple : Veuillez saisir une expression : 50*4+2 Resultat : 202 La priorité des opérateurs ne sera pas prise en compte et le calcul se fera sur des nombres entiers. Chaque nombre de l expression ne dépassera pas la valeur 32767. Le résultat affiché sera limité à 16 bits signés (une perte apparaîtra donc si le résultat théorique est supérieur). Un message d erreur unique ("Erreur") apparaîtra à la place du résultat si l utilisateur saisit une expression erronée. Une expression est erronée si : Un des nombres est supérieur à 32767. L'expression contient un caractère qui n'est ni un chiffre ni un opérateur. Une division par zéro est apparue. Deux opérateurs sont côte à côte. L utilisateur est libre d entrer des espaces à n importe quel endroit de l expression pour en améliorer la lisibilité. On suppose qu il n entrera jamais de zéros à gauche d'un nombre. Ce TP s organise en plusieurs étapes. Dans chacune d'elles, vous devrez mettre au point un sous-programme. Un fichier source unique "TP_02.asm" contiendra l ensemble de tous vos sous-programmes et se divisera en quatre parties bien distinctes : Initialisation des vecteurs. Programme principal. Sous-programmes. Données. Chaque sous-programme s ajoutera à ce fichier source au fur et à mesure des différentes étapes. Le programme principal devra s adapter afin de tester le sous-programme de l étape en cours. À l'exception des registres utilisés pour renvoyer une valeur de sortie, aucun registre ne devra être modifié en sortie de vos sous-programmes. Appelez un enseignant à la fin de chaque étape pour valider votre travail T.P. 2 1/5

Étape 1 Réalisez le sous-programme DelSpace qui supprime tous les espaces d une chaîne de caractères. Entrée : A0.L pointe sur le premier caractère d une chaîne. Exemple : Avant : ' ' '5' ' ' '+' ' ' ' ' '1' '2' ' ' 0 Après : '5' '+' '1' '2' 0 ' ' '1' '2' ' ' 0 L idéal est d utiliser deux pointeurs sur la chaîne. A0 comme pointeur source. A1 comme pointeur destination. Il faut tester chaque caractère de la chaîne dans une boucle. Si le caractère est nul, sortir de la boucle. Si le caractère n est pas un espace, le copier de la source vers la destination. Si le caractère est un espace, ne pas le copier. Attention à ne pas oublier le caractère nul de la chaîne destination. Étape 2 Réalisez le sous-programme ErrChar qui détermine si une chaîne non nulle ne contient que des chiffres. Entrée : A0.L pointe sur le premier caractère d une chaîne non nulle. Sortie : Z renvoie 1 si la chaîne contient au moins un caractère qui n est pas un chiffre. Z renvoie 0 si la chaîne ne contient que des chiffres. Si au moins un caractère est inférieur au caractère '0', il faut renvoyer Z = 1. Si au moins un caractère est supérieur au caractère '9', il faut renvoyer Z = 1. Pour utiliser le flag Z comme valeur de sortie, il est possible de modifier directement sa valeur en passant par le registre CCR (Condition Code Register). CCR est un registre 8 bits contenant les flags X, N, Z, V et C comme le montre la figure suivante : CCR : X N Z V C Ainsi, pour positionner le flag Z à 0, sans modifier les autres flags, il suffit de réaliser un ET logique avec un 0 sur Z et un 1 sur les autres bits. Pour positionner le flag Z à 1, on utilisera un OU logique. Ce qui donne les deux instructions suivantes : andi.b #%11111011,ccr ; Positionne le flag Z à 0 ori.b #%00000100,ccr ; Positionne le flag Z à 1 Il est conseillé de générer deux sortie distinctes. Une que l on pourra nommer \true (qui renvoie Z = 1) et l autre \false (qui renvoie Z = 0). T.P. 2 2/5

Étape 3 Réalisez le sous-programme ErrMax qui détermine si le nombre que contient une chaîne est inférieur ou égal à 32767. Entrée : A0.L pointe sur le premier caractère d une chaîne non nulle ne contenant que des chiffres. Sortie : Z renvoie 1 si le nombre que contient la chaîne est supérieur à 32767. Z renvoie 0 si le nombre que contient la chaîne est inférieur ou égal à 32767. Utiliser StrLen pour faire une première comparaison sur la taille de la chaîne. Si la taille est inférieure à cinq caractères, le nombre est correct. Si la taille est supérieure à cinq caractères, le nombre est trop grand. Si la chaîne comporte exactement cinq caractères, alors il faut les comparer un par un. Pourquoi n est-il pas possible ici d utiliser Atoui puis de comparer la valeur numérique obtenue à 32767? Étape 4 Réalisez le sous-programme Conv qui convertit une chaîne ASCII en un entier 15 bits non signés avec une gestion des erreurs. Entrée : A0.L pointe sur le premier caractère d une chaîne. Sorties : Z renvoie 0 (erreur de conversion) si la chaîne ASCII : - est nulle, - contient au moins un caractère qui n est pas un chiffre, - représente un nombre supérieur à 32767. Z renvoie 1 dans tous les autres cas (aucune erreur de conversion). Si Z renvoie 0, alors D0.L n est pas modifié. Si Z renvoie 1, alors D0.L contient la valeur numérique du nombre. Conv réalise la même opération que Atoui, mais avec une gestion des erreurs. Il faut donc d abord valider le contenu de la chaîne, puis appeler Atoui. Étape 5 Réalisez le sous-programme Print qui affiche une chaîne de caractères dans la fenêtre de sortie vidéo du débogueur. Entrées : A0.L pointe sur le premier caractère de la chaîne à afficher. D1.B contient le numéro de colonne de la chaîne à afficher. D2.B contient le numéro de ligne de la chaîne à afficher. T.P. 2 3/5

David Bouchet Architecture des ordinateurs Info-Spé 2011/2012 La fenêtre de sortie vidéo du débogueur s obtient en appuyant sur la touche [F4]. Le débogueur utilise une partie de la mémoire du 68000 comme mémoire vidéo. Cette zone de la mémoire est celle qui est représentée dans la fenêtre de sortie vidéo. Mémoire disponible pour les programmes et les données Fenêtre de sortie vidéo Mémoire disponible pour la pile Il est nécessaire de changer la position du sommet initiale de la pile. On choisira l adresse de départ de la mémoire vidéo qui est $FFB500. La partie de la mémoire située juste en dessous de la mémoire vidéo sera donc réservée à la pile. Il est mis à votre disposition le sous-programme PrintChar qui affiche un caractère unique dans la fenêtre de sortie vidéo. Pour disposer de ce sous-programme, vous devez copier le fichier "PrintChar.bin" dans le même dossier que votre fichier source et inclure dans ce dernier la ligne suivante : PrintChar incbin "PrintChar.bin" PrintChar contient les entrées-sorties suivantes : Entrées Sortie : D0.B contient le code ASCII du caractère à afficher. D1.B contient le numéro de colonne du caractère à afficher. D2.B contient le numéro de ligne du caractère à afficher. : Aucune. Il n est pas conseillé, pour l instant, de chercher à comprendre le fonctionnement interne du sous-programme PrintChar. T.P. 2 4/5

En vous aidant de PrintChar, il suffit donc d afficher successivement chaque caractère de la chaîne dans la fenêtre d affichage. Pour cette étape, vous utiliserez le code source ci-dessous afin de tester votre sous-programme Print. ; Initialisation des vecteurs org $0 vector_000 dc.l $ffb500 ; <- Ne pas oublier l initialisation de la pile vector_001 dc.l Main vector_002_255 dcb.l 254,break_exception break_exception illegal ; Programme principal org $1000 Main lea stest,a0 move.b #24,d1 move.b #20,d2 jsr Print illegal Print rts ; Sous-programmes PrintChar incbin "PrintChar.bin" ; Données stest dc.b "Hello World",0 T.P. 2 5/5