Informatique Générale. TP n 10

Documents pareils
Rappels d architecture

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

TP1 : Initiation à Java et Eclipse

Le langage C. Séance n 4

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Introduction à Eclipse

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

CONFIGURATION DE L AUTOMATE SIEMENS

Documentation Technique du programme HYDRONDE_LN

Styler un document sous OpenOffice 4.0

TP1 : Initiation à Java et Eclipse

TPS 4 Objectifs du programme aide à la lecture et à l'écriture Les fonctions principales lecture à haute voix

2. Pour accéder au Prêt numérique, écrivez dans la barre d adresse de votre navigateur Web.

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var - E mail : bij@agasc.fr / Tel : CONSIGNE N 1 :

ENVOI EN NOMBRE DE MESSAGES AUDIO

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

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Compilation (INF 564)

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

Outils pour la pratique

Emporter Windows XP sur une clé USB

Calculs de probabilités avec la loi normale

Logiciel Libre Cours 3 Fondements: Génie Logiciel

TP1 : Initiation à l algorithmique (1 séance)

NOTICE D' UTILISATION CAMWORKS FRAISAGE. Luc Vallée Lycée Blaise Pascal Segré

Préparation d une flotte d IPADS dans une école via ITUNES

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

Le disque dur. Le disque dur est l'organe servant à conserver les données sous forme de dossiers de manière permanente.

Assistant d e tablissement de Tableaux

Licence Sciences et Technologies Examen janvier 2010

ASR1 TD7 : Un microprocesseur RISC 16 bits

Licence de Biologie, 1ère année. Aide. [Aide 1] Comment utiliser l'explorateur Windows? Comment créer des dossiers?

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

NOTICE TELESERVICES : Créer mon compte personnel

Guide d installation CLX.PayMaker Office (3PC)

Cours 1 : Qu est-ce que la programmation?

PIC EVAL Dev Board PIC18F97J60

Alors pour vous simplifiez la vie, voici un petit tuto sur le logiciel de sauvegarde (gratuit) SyncBack.

IV- Comment fonctionne un ordinateur?

Programmation C++ (débutant)/instructions for, while et do...while

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

Java Licence Professionnelle CISII,

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

Projet tablettes numériques Document de référence

Cours Informatique Master STEP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

La Clé informatique. Formation Internet Explorer Aide-mémoire

SoMachine. Solution logicielle pour votre architecture Machine Atelier de découverte. SoMachine

Le Logiciel de Facturation ultra simplifié spécial Auto-Entrepreneur

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

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

TP1 - Prise en main de l environnement Unix.

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

l'ordinateur les bases

Windows serveur 2012 : Active Directory

Cours Informatique 1. Monsieur SADOUNI Salheddine

Approche Contract First

Cours Microfer Chartres

Initiation au trading automatique et semi-automatique avec Metatrader 4. Nicolas ALEKSY

GUIDE ADMINISTRATEUR BIEN DÉMARRER AVEC WISEMBLY

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

Contrôle d accès UTIL TP N 1 découverte

2. Pour accéder au Prêt numérique, écrivez dans la barre d adresse de votre navigateur Web.

Microprocesseur + Logiciel

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

Création du projet : 1 sur 13

Programmation Objet - Cours II

Auto formation à Zelio logic

USTL - Licence ST-A 1ère année Initiation à la programmation TP 1

Emprunter un livre numérique sur un appareil Android

LA PLATE-FORME D'ALTERN C

Gérer son Google Drive pour gérer ses informations : le tutoriel

ENVOI EN NOMBRE DE SMS

TD/TP 1 Introduction au SDK d Android

Keyyo Unify Application de téléphonie intégrée pour Salesforce

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

FTP / WebDeploy /WebDAV. Manuel

Découvrez La Formule Magique Pour Gagner De L argent Sur Internet

Installation et compilation de gnurbs sous Windows

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)

Virtual Universe aperçu numéro 1

Anciens plug-ins d effets VST

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

KM2 W1 EVC1 M3~ Manuel AUTOMSIM API 24V. BP Dcy 1MINI 1MAXI.

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Pour accéder au Prêt numérique

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

Algorithmique et Programmation, IMA

Installation d un ordinateur avec reprise des données

Algorithmes récursifs

Manuel d utilisation TruView 3.0

Initiation à LabView : Les exemples d applications :

Installation et prise en main

SCOLASYNC : Logiciel de gestion de flotte de «supports USB», synchronisation de fichiers.

Ici se présente un petit récapitulatif de ce qu il se passe sur le réseau : les connexions bloquées, le matériel du boitier, les mises à jour, etc.

Poll-O Guide de l utilisateur. Pierre Cros

80 rue de Reuilly PARIS Guide d utilisation de la Bourse de l emploi des Centres de Gestion

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

Transcription:

Université de Nice Sophia Antipolis Licence 1 Sciences Fondamentales 2013-2014 Informatique Générale TP n 10 Langage assembleur Le but de ce TP est d étudier un langage dit de bas niveau, c est à dire très proche des instructions élémentaires du processeur. Ce langage, appelé assembleur, est exécuté par le processeur après de très légères modifications. Il peut être écrit par un humain (comme ici) mais en pratique c est très rare, il est plutôt généré à partir de langages de plus haut niveau comme C, Java ou Scheme. Un langage assembleur est spécifique à une famille de processeur et relativement complexe. Nous allons donc utiliser un langage simplifié qui sera exécuté sur un processeur simplifié, écrit en Java. Ce processeur ne possède qu un seul registre. Vous le trouverez à http://www.cse.yorku.ca/~peterc/simulator/simulator.html Attention c'est une applet Java, peut être un peu long à charger et nécessite d'avoir le plugin (en théorie, les machines des étudiants l'ont). Dans le «code builder», on choisit une instruction à gauche et on l'insère dans le code par. Mettre l'adresse avant de cliquer sur si l'instruction a besoin d'une adresse. Puis «compile». Ensuite passez à «Little Man Computer» On peut changer la partie adresse d'une instruction par un clic droit sur l'instruction, et changer une instruction de place par les flèches haut et bas Notre langage sera composé dans un premier temps des instructions suivantes STOP : arrête l exécution du programme LOAD : charge l adresse mémoire passée en paramètre dans un registre du processeur STORE : sauvegarde le contenu du registre dans la zone mémoire passée en paramètre ADD/SUBSTRACT : ajoute/soustrait le contenu du registre à l adresse mémoire passée en paramètre et stock le résultat dans le registre READ : lit une information entrée par l utilisateur et la place dans le registre Exercice 1 : Programme simple 1. Écrire un programme qui lit une entrée de l utilisateur (chiffre), le stocke dans l adresse mémoire 10. READ STORE 10 STOP 2. Compilez et testez votre programme. Quel est le rôle de l instruction counter? L'adresse de l'instruction courante 3. Modifiez votre programme pour que la valeur soit stockée dans une adresse mémoire où se trouve une instruction de votre programme. Que se passe-t-il? READ STORE 0 STOP le simulateur râle (il protège les instructions contre l'écriture)

4. Écrire un programme qui lit 2 valeurs entrées par l utilisateur, les stocke à deux adresses mémoires différentes, puis les permute. On range les 2 valeurs lues en 20 et 21. On se sert de 22 comme variable tampon pour faire l'échange.

Exercice 2 : Branchements Notre langage assembleur fournit une série d instructions de branchement (également appelées saut) qui permettent de continuer l exécution du programme à une adresse passée en paramètre 1. Reprenez le programme 1.4. et insérez une instruction BRANCH qui aura comme paramètre l adresse de l instruction STOP. Placez cette instruction en deuxième position de votre programme et exécutez le. Que constatez vous? Observez l instruction counter On saute donc on n'exécute pas le reste du programme. L'IC prend pour valeur l'adresse du saut 2. Ecrire un programme qui lit un entier de l utilisateur, le place dans une zone mémoire, effectue les opérations suivantes en boucle : lire l entier de la mémoire, l ajouter à lui même, l écrire en mémoire à la place de l ancien. on s'arrête sur un overflow

3. 4. L instruction BRANCHP (Branch Positive) permet de faire un saut conditionnel. Si la valeur contenue dans le registre est strictement positive (ou nulle), alors le saut est effectué. Écrire un programme utilisant cette instruction qui prend en entrée une valeur et la décrémente jusqu à ce qu elle vaille 0. Comme on ne sait pas mettre un constante en mémoire, il faudrea lire la cste 1 (qu'on range ici en 11). Comme BRANCHP ne convient pas, on utilise BRANCHZ

Exercice 3 : Un vrai programme 1. Écrire un programme qui fait la somme de tous les entiers compris entre 0 et une valeur donnée par l utilisateur. On fait la somme comme n + (n-1) + (n-2) +... + 1 On met n en 17, qui se décrémente de 1 (qu'on place en 16) à chaque tour de boucle. La somme est calculée en 15.