Assembleur, compilateur et langage interprété

Documents pareils
INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Évaluation et implémentation des langages

Introduction à NetCDF

Éléments de programmation et introduction à Java

Programmation C. Apprendre à développer des programmes simples dans le langage C

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

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

Cours Informatique Master STEP

Machines virtuelles Cours 1 : Introduction

ALGORITHMIQUE ET PROGRAMMATION En C

IV- Comment fonctionne un ordinateur?

Cours 1 : La compilation

1 Description générale de VISFIELD

PROGRAMME DE FORMATION CONTINUE «CHEF DE PROJET WEB»

Annexe : La Programmation Informatique

Quelques éléments de compilation en C et makefiles

Architectures web/bases de données

CONFIGURATION DE L AUTOMATE SIEMENS

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

programmation S initier à la la Avec des exemples en C, C++, C#, Java et PHP Avec des exemples en C, C++, C#, Java et PHP Claude Delannoy

Optimisation de logiciels de modélisation sur centre de calcul

Cours 1 : Qu est-ce que la programmation?

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Éléments d'architecture des ordinateurs

I00 Éléments d architecture

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Cours d Algorithmique et de Langage C v 3.0

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Compilation (INF 564)

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Conventions d écriture et outils de mise au point

Représentation d un entier en base b

ASR1 TD7 : Un microprocesseur RISC 16 bits

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

MATHÉMATIQUES ET SCIENCES HUMAINES

UE Programmation Impérative Licence 2ème Année

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

1 Modélisation d être mauvais payeur

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

Introduction à l algorithmique et à la programmation (Info 2)

Rappels sur les suites - Algorithme

Chapitre 10 Arithmétique réelle

Compte Rendu d intégration d application

Cours d algorithmique pour la classe de 2nde

Rappels d architecture

Un moulin à scie!?! Ben voyons dont!!!

Création d installateurs pour Windows avec InnoSetup

Machines virtuelles. Brique ASC. Samuel Tardieu Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Algorithmique I. Algorithmique I p.1/??

Bases de programmation. Cours 5. Structurer les données

Gestionnaire de réseaux Linux et Windows

UN EXEMPLE DE CYBERENSEIGNEMENT EN CHIMIE

A l aide de votre vous pouvez visiter un site web!

Mise en œuvre des serveurs d application

Comment créer des rapports de test professionnels sous LabVIEW? NIDays 2002

1. Développement embarqué. André KPOZEHOUE DOMAINES DE COMPETENCES CONNAISSANCES TECHNIQUES

Générer du code à partir d une description de haut niveau

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

nom : Collège Ste Clotilde

CH.3 SYSTÈMES D'EXPLOITATION

Projet audio. Analyse des Signaux ELE2700

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Introduction aux concepts d ez Publish

Informatique et sciences du numérique

Z i e d Z a i e r ( )

Projet : La découverte du ver à soie. Résumé du projet

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

M Études et développement informatique

Chap III : Les tableaux

Innovation Technologique et Eco-Conception

Système de gestion de conférences

CONTRAT DE LICENCE D UTILISATION DU LOGICIEL MORPH M SOUS LA FORME MORPH M PYTHON

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

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

Algorithme. Table des matières

Pourquoi R devient incontournable en recherche, enseignement et développement

BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS

Préparation à l examen EFA en Macro

C r é a t i o n D e S i t e s. P o l C R O V A T T O

chapitre 4 Nombres de Catalan

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

Ecran principal à l ouverture du logiciel

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Valeur ajoutée relative basée sur les comparaisons indirectes Giens 2008, TR 5

COMMUNICATION ENTRE DEUX ORDINATEURS PAR LASER MODULE EN CODE MORSE OU BINAIRE.

Traduction des Langages : Le Compilateur Micro Java

Structure de base d un ordinateur

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

SQL Server 2012 et SQL Server 2014

Internationalisation d'une application Python

Transmission d informations sur le réseau électrique

PostgreSQL, le cœur d un système critique

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

Dossier de Presse. Ergonomie. E-commerce. Portails internet. Applications Facebook. Logiciels «prêts à adapter» Logiciels sur mesure

Introduction à MATLAB R

Cyber-base du Pays Martégal. Atelier «Découverte de l ordinateur»

Transcription:

Assembleur, compilateur et langage interprété Pierre de rosette GIF-1001 Ordinateurs: Structure et Applications, Hiver 2017 Jean-François Lalonde

Assembleur et compilateur Langage de programmation Langage de programmation Assembleur Compilateur (langage machine) (langage machine)

Assembleur Définition: le langage assembleur permet d écrire les instructions du microprocesseur en mnémoniques plutôt qu en binaire (code machine). Le langage assembleur est traduit en code machine par un programme aussi nommé assembleur. But principal: Faciliter l écriture de programmes pour un microprocesseur donné. Niveau d abstraction et portabilité L assembleur est très près du code machine. Une instruction d assembleur correspond habituellement à une instruction machine. Un programme en assembleur est indissociable du microprocesseur ou jeu d instructions pour lequel il a été construit. Exemples d assembleur: Il existe habituellement un assembleur pour chaque famille de microprocesseur.

Compilateur et langage compilé Définition: un langage compilé est constitué de chaînes de caractère interprétées par un compilateur afin de générer de l assembleur et, ultimement, du langage machine. But principal: Faciliter l écriture de programmes et rendre les programmes disponibles sur tous les microprocesseurs pour lesquels il existe un compilateur. Niveau d abstraction et portabilité Les langages de haut niveau sont relativement indépendants du matériel. Le compilateur transforme habituellement une instruction de haut niveau en plusieurs instructions d assembleur. Un programme en langage de haut niveau peut être compilé pour être utilisé sur plusieurs microprocesseurs. Exemples: Fortran, Pascal, Basic, C, C++

Assembleur, compilateur et éditeur de liens Langage assembleur Langage compilé Langage compilé Assembleur Compilateur Compilateur (fichier objet ) (fichier objet ) (fichier objet ) Libraries externes Éditeur de liens Exécutable

Éditeur de liens (Linker) Définition: l éditeur de liens rassemble toutes les fonctions et variables d un programme afin de créer l exécutable. Il agence les éléments du programme provenant de diverses sources (fichiers objets, librairies dynamiques) pour que celui puisse être mis en mémoire par le système d exploitation. But principal: Relier plusieurs segments de code machine afin de constituer un programme. Buts secondaires Déterminer les emplacements en mémoire de chaque composante du programme. Faire un lien entre toutes les fonctions et les appels de fonctions. Faire un lien entre les variables globales de différents fichiers. Faire un lien entre tous les fichiers du programme! Niveau d abstraction et portabilité Qu on utilise un assembleur ou un compilateur, il existe toujours un éditeur de lien qui les accompagne

Langage interprété Définition: Un langage interprété n est pas transformé en code machine. Il s agit de fichiers textes qui sont traduits par un programme qui «agit» en fonction du contenu des fichiers. But principal: Permettre d avoir des programmes (fichiers textes) totalement indépendants de la plateforme utilisée.. Niveau d abstraction et portabilité Presque complètement indépendant du matériel. Très haut niveau d abstraction Exemples: HTML, Python, Matlab,

Comparaisons Assembleur Compilé Interprété Vitesse d exécution Le plus rapide! Très rapide, mais pas autant que l assembleur Très lent Grosseur du programme Très petit Beaucoup plus gros Dépend de l interpréteur Accéder au matériel Naturel Faisable Plus difficile Temps de programmation Éternel... Plus long qu interprété, mais raisonnable Très rapide