Travaux Pratiques n o 1
|
|
- Stéphane Laframboise
- il y a 6 ans
- Total affichages :
Transcription
1 Travaux Pratiques n o 1 Architecture des ordinateurs. IR 1 Avant la séance de travaux pratiques suivante, vous enverrez une archive contenant les fichiers sources ainsi qu un rapport au format pdf à votre chargé de td. Vous donnerez à votre mail le sujet suivant: Arnaud Carayol : arnaud.carayol@univ-mlv.fr Guillaume Blin : guillaume.blin@univ-mlv.fr [Archi IR1][TP1] Nom1--Nom2 Le rapport doit répondre aux questions posées dans le sujet et peut éventuellement contenir des portions de code pour illustrer votre propos. Votre code doit être commenté sinon il ne sera pas lu. 1 Rappels Cette série de travaux pratiques a pour but de vous familiariser avec la programmation en langage machine pour des processeurs 32 bits d architecture x86 sous linux en mode protégé. Nous utiliserons l assembleur NASM (Netwide Assembler) qui est téléchargeable gratuitement à l adresse suivante: Je vous conseille l excellent livre (traduit en français) de Paul. A. Carter intitulé PC Assembly Language qui est disponible à l adresse suivante: Les processeurs 32 bits d architecture x86 travaillent avec des registres qui sont en nombre limité et d une capacité de 32 bits. Parmis ces registres, les registres appelés eax, ebx, ecx, edx, edi, esi sont des registres à usage général. Les registres esp et eip servent respectivement à conserver l adresse du haut de la pile et l adresse de la prochaine instruction à exécuter. Le premier octet (celui de poids le plus faible) de eax est accessible par le registre al(de capacité 8 bits), le deuxième octet de poids le plus faible est accessible par le registre ah. Les 16 bits de poids faible de eax sont accessibles par le registre ax. De même pour ebx, ecx, et edx, on dispose des registres bx, bh, bl, cx, ch, cl et dx, dh, dl. Question 1 Donnez un schéma illustrant les relations entre eax, ax, ah et al. Opérations sur les registres Le processeur peut effectuer des opérations sur les valeurs stockées dans les registres. On notera que le premier argument est toujours celui qui reçoit le résultat (1). (1) C est la syntaxe Intel. Attention, il existe d autres assembleurs qui emploient la convention inverse! On parle de syntaxe ATT. 1
2 mov eax, 3 ; eax = 3 mov ebx,eax ; ebx = eax mov eax, 0x ; eax=0x add eax,3 ; eax = eax + 3 add ah,0x1c ; ah = ah + 28 add ebx,ecx ; ebx = ebx + ecx sub eax, 10 ; eax = eax - 10 add ah,al ; ah = ah + al Question 2 Après l exécution des instructions suivantes quelle est la valeur de eax, ax, ah et al. mov eax, 0xf00000f0 add ax, 0xf000 add ah,al Lecture et écriture en mémoire Le processeur peut aussi lire et écrire directement dans la mémoire. En mode protégé, on peut s imaginer la mémoire comme un tableau dont chaque case contient un octet. L adresse d une case est donnée par un nombre sur 32 bits. On donne ci-dessous un exemple fictif de d état de la mémoire. adresse valeur 0xffffffff 235 0xfffffffe x x x x Question 3 Quelle est la quantité de mémoire adressable sur 32 bits? La syntaxe générale pour écrire en mémoire à l adresse adr la valeur contenue dans le registre reg est la suivante: mov [adr],reg La syntaxe générale pour lire la mémoire à l adresse adr et stocker la valeur dans le registre reg est la suivante: mov reg,[adr] La quantité d information écrite ou lue est déterminée par la taille du registre reg. Par exemple si le registre est ah ou al, on lit ou écrit un octet. mov al, [0x ] ; al recoit l octet stocké à l adresse 3 ; dans notre example al=10 mov [0x ], ah ; l octet contenu dans ah est écrit à l adresse 1 Quand on ne veut plus écrire des octets mais des mots (deux octets) ou des double-mots (quatres octets), il faut adopter une convention sur l ordre dans lequel on lit les octets en mémoire. Considérons l instruction ci-dessous: 2
3 mov eax, [0x ] Cette instruction demande de lire 4 octets (car eax est un registre 32 bits) en mémoire à partir de l adresse 0 et de les stocker dans eax. Si l on reprend la mémoire décrite dans notre exemple, deux résultats seraient envisageables: eax = 0x0a convention little endian eax = 0x a convention big endian Les processeurs Intel et AMD utilisent la convention little endian. On peut aussi directement affecter une valeur en mémoire sans la stocker dans un registre. Il faut alors préciser la taille des données avec les mot-clés byte, word et dword. mov byte [0x ],1 mov word [0x ],1 mov dword [0x ],0x Question 4 Quel est l état de la mémoire après avoir effectué chacune de ces instructions en partant de la mémoire de l exemple ci-dessus? 2 Premier programme Le code source hello.asm de notre premier programme est téléchargeable à l adresse suivante: Pour compiler le programme, on exécute: nasm -f elf hello.asm ld -e debut hello.o -o hello chmod +x hello La première commande crée un fichier objet hello.o. La seconde commande un exécutable hello. L option -e debut indique que le programme commence à la ligne marquée par l étiquette debut. La dernière ligne change les droits d accés pour que le fichier hello soit exécutable. Question 5 Compilez et exécutez le programme hello. La première section du programme intitulée data contient les données du programme c est à dire une succession d octets. Les caractères sont représentés par leur code ASCII. La primitive db permet de déclarer une suite d octets. Dans la suite l étiquette msg désignera l adresse du premier octet de la chaîne que l on veut afficher. De la même manière, l étiquette debut designera l adresse du premier octet du code. Le programme hellobis présente une version utilisant directement les codes ASCII. Le programme helloter définit une constante len grâce à la primitive equ pour calculer la taille de la chaîne. Attention len n est pas une adresse mais une valeur. La deuxième section text contient le code. Dans notre cas, le code fait deux appels systèmes via l instruction int 80h. Le registre eax contient le numéro de l appel système : 4 pour write et 1 pour exit. Les registres ebx, ecx et edx contiennent les paramètres. Question 6 Pour les appels systèmes write et exit, donnez le nombre d arguments et expliquez leurs rôles. Question 7 Écrivez un programme qui exécute le programme/bin/ls. Pour cela, on utilisera l appel système execve qui a le numero 11. 3
4 ebx doit contenir l adresse de la chaine de caractères terminée par un caractère de code ASCII 0 correspondant à la commande à exécuter. Dans notre cas, ecx et edx peuvent être égaux à 0. En fait, ecx et edx servent à passer les arguments et les variables d environnement respectivement. 3 Environnement d exécution L environnement d exécution d un programme utilisateur est donné par le figure suivante. Le haut de la figure correspond à l adresse 0x et le bas à l adressse 0xFFFF FFFF. L adresse à laquelle commence le Code est toujours 0x L adresse du début de l Environnement est dans le registre esp(voir plus loin). L adresse à laquelle débute le bloc Système est 0xBFFF FFFF. Reservé Code Data (initialisé) BSS (non-initialisé) Tas Pile Environnement aléatoire Système Avec la commande nasm -f elf -l hello.lst hello.asm, vous obtenez dans hello.lst un listing donnant le code machine des différentes instructions. Question 8 En utilisant la commande xxd hello.o, vous obtenez l affichage binaire du fichier objet hello.o. Retrouvez votre code et vos données. Pourquoi le code binaire ne peut-il pas être copié en mémoire directement. Question 9 Quels changements observez-vous dans l exécutable hello? 4 Utilisation de GDB Nous allons maintenant voir comment utiliser le programme GDB pour suivre l exécution en machine de notre premier programme. Pour plus de détails, reportez-vous à la documentation de GDB. Commencez par lancer GDB sur le programme hello. gdb hello Commencez par désassembler le programme pour avoir les adresses des différentes instructions. set disassembly-flavor intel disassemble debut Si vous tapez run, le programme s exécute. Pour pouvoir l arrêter, il faut placer un point d arrêt sur l une des commandes. Ainsi la commande break *debut+5 place un point d arrêt sur la deuxième commande du programme. run info registers Puis next pour passer à l instruction suivante. 4
5 Question 10 Créer un fichier exécutant le code de la question 2 et utilisez GDB pour vérifier votre résultat. Une fonction très utile de GDB est qu il peut afficher l état de la mémoire. Les commandes suivantes affichent la mémoire à partir de l adresse adr (ou &label): x/3wx adr 3 double-mots (w) (double-mot = quatre octets) en hexadécimal (x) x/1bd adr un octet (b) en décidemal (d) x/1s adr une chaîne terminée par un caractère 0 Question 11 Utilisez cette fonction de GDB pour exploirer le bloc environnement dont la structure est décrite ci-dessous. Toutes les valeurs sont sur 4 octets. Argc est le nombre d arguments du programme plus 1. Arg[0] est l adresse du premier caractère d une chaîne terminée par un 0 qui correspond au nom du programme. Arg[1] est l adresse d une chaîne correspondant au premier argument. Question 12 A quoi correspond Env[0]? esp Argc esp+ 4 Arg[0] esp+ 8 Arg[1] esp+ 4n +4 Arg[n] esp+ 4n +8 0 esp+ 4n + 12 Env[0] Améliorations Question 13 Récupérez le fichier hello2.asm et déterminez la fonction du premier bloc d instruction. Les instructions ci-dessous ont le comportement suivant: tant que l octet pointé par edi n est pas égal à al ou que ecx n est pas égal à 0 alors ecx est décrémenté de 1 et edi est incrémenté de 1. cld repnz scasb Question 14 Ecrivez un programme qui affiche son nom d appel. Question 15 Ecrivez un programme qui affiche son nombre d arguments si ce nombre est inférieur à 10. 5
Structure d un programme
Architecture des ordinateurs Cours 6 Structure d un programme 3 décembre 2012 Archi 1/30 Programme en Assembleur Archi 2/30 Sections de données programme en assembleur = fichier texte (extension.asm) organisé
Plus en détailArchitecture des ordinateurs
Architecture des ordinateurs Cours 7 17 décembre 2012 Archi 1/1 Fonctions, suite et fin Archi 2/1 Rappel Forme générale d un sous-programme (fonction) : etiquette sousprogramme: push ebp ; empile la valeur
Plus en détailProgrammation assembleur : aperçu
Assembleur : Younès EL AMRANI. 1 Programmation assembleur : aperçu Programmation en assembleur : NASM Module M14 Semestre 4 Printemps 2010 Equipe pédagogique : Younès El Amrani, Abdelhakim El Imrani, Faissal
Plus en détailLogiciel de base. Première année ENSIMAG
Logiciel de base Première année ENSIMAG 1 Procédures, paramètres, pile En assembleur une fonction est une étiquette, c'est l'adresse de sa première instruction Lors de l'appel d'une fonction, la pile sert
Plus en détailAssembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96
Assembleur i8086 Philippe Preux IUT Informatique du Littoral Année universitaire 95 96 1 Avertissement Ce document décrit le langage d assemblage étudié et utilisé dans le cadre des TP d architecture.
Plus en détailRappels d architecture
Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée
Plus en détailArchitecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155)
Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155) F. Pellegrini Université Bordeaux 1 Ce document est copiable et distribuable librement et gratuitement à
Plus en détailConventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Plus en détailSSTIC 2009. Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques...
Désobfuscation automatique de binaires Et autres idyles bucoliques... Alexandre Gazet Sogeti / ESEC R&D alexandre.gazet(at)sogeti.com Yoann Guillot Sogeti / ESEC R&D yoann.guillot(at)sogeti.com SSTIC 2009
Plus en détailCours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailÉléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Plus en détailRéalisation d un OS 32 bits pour PC(x86)
Rapport projet tutoré Réalisation d un OS 32 bits pour PC(x86) Maxime Chéramy Nicolas Floquet Benjamin Hautbois
Plus en détailCompilation (INF 564)
Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation
Plus en détailLicence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Plus en détailDésobfuscation automatique de binaire - The Barbarian Sublimation
Désobfuscation automatique de binaire - The Barbarian Sublimation Yoann Guillot, Alexandre Gazet Sogeti - ESEC Résumé Ce papier présente l état de notre recherche dans le domaine de l automatisation du
Plus en détailProgrammation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Plus en détailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailDépartement informatique de l université d Angers
Département informatique de l université d Angers Amélioration d'un logiciel d'émulation du fonctionnement d'un microprocesseur x8 6 SCHAEFFER Florian ROUSSEAUX Billy L3 Informatique Responsable du projet:
Plus en détailProjet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte
Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailDéprotection semi-automatique de binaire
Déprotection semi-automatique de binaire Yoann Guillot et Alexandre Gazet Sogeti - ESEC Résumé Que ce soit sur des binaires malicieux ou non, les protections dont le but est de freiner la rétro-ingénierie
Plus en détailCM2 L architecture MIPS32
CM2 L architecture MIPS32 Olivier Marchetti (CM-TD-TP) Alexandre Brière (TD-TP) Laboratoire d informatique de Paris 6 Pôle SoC UPMC Année 2014-2015 Instructions MIPS Contrôle Données en MIPS E/S en MIPS
Plus en détailArchitecture des ordinateurs. Loïc Cuvillon. 20 novembre 2013
Systèmes temps réel et systèmes embarqués Architecture des ordinateurs Loïc Cuvillon Ecole Nationale Supérieure de Physique de Strasbourg 20 novembre 2013 Loïc Cuvillon (ENSPS) Systèmes temps réel et systèmes
Plus en détailMICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C
Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailLes failles Format String
Les failles Format String Concept et exploitation Warr 01/10/2010 Introduction Je rédige ce papier afin de combler un manque cruel (à mon sens) de documentation à propos de ces failles. L essentiel des
Plus en détail4. Initiation à l'assembleur
4. Initiation à l'assembleur 142 143 1. Introduction Pour mieux comprendre la structure interne d'un ordinateur, nous aborderons la langage d'assemblage d'un processeur contemporain, le Pentium III d'intel.
Plus en détail1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
Plus en détailAtelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques
Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques CTIA04 Page 1 1. Les types de données sous S7 300 Il existe plusieurs types de données utilisées pour la programmation
Plus en détailPrincipe de fonctionnement des périphériques des ordinateurs en vue de la programmation. Patrick Cégielski
Principe de fonctionnement des périphériques des ordinateurs en vue de la programmation Patrick Cégielski Juin 2012 Pour Irène et Marie Legal Notice Copyright c 2012 Patrick Cégielski Université Paris
Plus en détailArchitecture des ordinateurs Introduction à l informatique
Architecture des ordinateurs Introduction à l informatique 17 septembre 2004 1 2 3 4 5 6 Les interrupteurs... 0V 5V Ce sont des composants électroniques qui laissent pser un courant principal lorsque la
Plus en détailCours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
Plus en détail1/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)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailPlaying with ptrace() for fun and profit
sous GNU/Linux nicolas.bareil@eads.net EADS Corporate Research Center - DCR/STI/C SSI Lab SSTIC 2006 Il était une fois... Sous UNIX, ptrace() est le seul moyen de debuggage. User-space, Interface rigide
Plus en détailRappels Entrées -Sorties
Fonctions printf et scanf Syntaxe: écriture, organisation Comportement Données hétérogènes? Gestion des erreurs des utilisateurs 17/11/2013 Cours du Langage C ibr_guelzim@yahoo.fr ibrahimguelzim.atspace.co.uk
Plus en détailSouad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/
Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation
Plus en détailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
Plus en détailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Plus en détailMicroprocesseur + Logiciel
Microprocesseur + Logiciel Robot EVALBOT MOHAMED AKIL BUREAU 5253 UNITE IGI 1001 PROGRAMMATION DES MICROPROCESSEURS Présentation [IGI1001] CONTEXTE SCIENTIFIQUE... 4 1. OBJECTIFS DE L UNITE... 6 2. OBJECTIFS
Plus en détailUE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailGlobalScape Secure FTP Server 3.0.2 Buffer Overflow
GlobalScape Secure FTP Server 3.0.2 Buffer Overflow muts@whitehat.co.il Traduction française: jerome[at]athias.fr http://www.athias.fr/jerome/doc/ Qu est-ce que le Serveur FTP Sécurisé GlobalScape?...
Plus en détailLe langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
Plus en détailConception de circuits numériques et architecture des ordinateurs
Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique
Plus en détailTp 1 correction. Structures de données (IF2)
Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que
Plus en détailLangage C. Patrick Corde. Patrick.Corde@idris.fr. 22 juin 2015. Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289
Langage C Patrick Corde Patrick.Corde@idris.fr 22 juin 2015 Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289 Table des matières I 1 Présentation du langage C Historique Intérêts
Plus en détailIV- Comment fonctionne un ordinateur?
1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions
Plus en détailDU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION
145 NOTION DE PROGRAMMATION 1/ Complétons notre microprocesseur Nous avons, dans les leçons précédentes décrit un microprocesseur théorique, cependant il s inspire du 6800, premier microprocesseur conçu
Plus en détailRésumé Génération de code Le code intermédiaire
Résumé Analyse INFO0004 Structure des langages de programmation Génération de code ; liaison et exécution Justus H. Piater Programmation Analyse Compilation Liaison fichier texte Analyse lexicale flux
Plus en détailLOGICIEL DC4D MONITOR
THQtronic LOGICIEL DC4D MONITOR La communication entre PC et DC4D ne peut se faire qu à l aide du câble de liaison USB-TTL de FTDI référence TTL-232R-5V-AJ vendu en option. DC4D Monitor est la même application
Plus en détailArchitecture des ordinateurs
Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?
Plus en détailInitiation à la sécurité
Initiation à la sécurité UE Systèmes informatiques 12 septembre 2011 Julien Raeis - http://raeis.iiens.net/ Présentation Ingénieur IIE 2005 Carrière dans la sécurité des systèmes Consultant en sécurité
Plus en détailProgrammation en langage C
Programmation en langage C Anne CANTEAUT INRIA - projet CODES B.P. 105 78153 Le Chesnay Cedex Anne.Canteaut@inria.fr http://www-rocq.inria.fr/codes/anne.canteaut/cours C 2 Table des matières 3 Table des
Plus en détailStructure fonctionnelle d un SGBD
Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert
Plus en détailLe Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables
Plus en détailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Plus en détailARDUINO DOSSIER RESSOURCE POUR LA CLASSE
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée
Plus en détailPIC : COURS ASSEMBLEUR
PIC : COURS ASSEMBLEUR I) Fonctions de base d une machine informatique Contenir de façon permanente les tâches à exécuter (mémoire programme) en ROM ou sur support magnétique. Contenir de façon temporaire
Plus en détailPARAGON Disk Wiper. Guide de l utilisateur. Paragon Technology GmbH, System Programmierung. Copyright Paragon Technology GmbH
PARAGON Disk Wiper Guide de l utilisateur Paragon Technology GmbH, System Programmierung Copyright Paragon Technology GmbH Publié par : Paragon Technology GmbH System Programming Pearl-Str. 1 D-79426 Buggingen
Plus en détailMachines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40
Machines virtuelles Brique ASC Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles La compilation peut
Plus en détailLe langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie
Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis
Plus en détailAVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS
AVERTISSEMENT Ce document est le fruit d'un long travail approuvé par le jury de soutenance et mis à disposition de l'ensemble de la communauté universitaire élargie. Il est soumis à la propriété intellectuelle
Plus en détailLes techniques de protection du logiciel
Travail d'études Licence Informatique 2003-2004 Les techniques de protection du logiciel Julien BURLE Térence SCALABRE Encadré par Mr Pierre CRESCENZO Travail d'étude: Les techniques de protection du logiciel
Plus en détailASR1 TD7 : Un microprocesseur RISC 16 bits
{Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit
Plus en détailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Plus en détailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Plus en détailSkype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net
Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net : Champ Encodé SKWRITTEN() : Champ Variable défini Précédemment & définissant l état des champs à suivre ECT
Plus en détailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Plus en détailIntroduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Plus en détailCompression de Données - Algorithme de Huffman Document de Conception
ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs
Plus en détailGestion mémoire et Représentation intermédiaire
Gestion mémoire et Représentation intermédiaire Pablo de Oliveira March 23, 2015 I Gestion Memoire Variables locales Les variables locales sont stockées: Soit dans un registre,
Plus en détailCours d Algorithmique et de Langage C 2005 - v 3.0
Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris
Plus en détailDébogage de code* Mardi 13 décembre 2011. Romaric DAVID david@unistra.fr Université de Strasbourg - Direction Informatique Pôle HPC. hpc.unistra.
Débogage de code* Mardi 13 décembre 2011 Romaric DAVID david@unistra.fr Université de Strasbourg - Direction Informatique Pôle HPC *ou l'art de chercher la petite bête Plan Introduction Débogage, quelques
Plus en détailNanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)
NanoSense 123 rue de Bellevue, 92100 Boulogne Billancourt France Tél : 33-(0) 1 41 41 00 02, fax : 33-(0) 1 41 41 06 72 Protocole Modbus de la sonde Particules P4000 (Version 01F) Ver V01A V01B V01C V01D
Plus en détailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailCOMMANDER la puissance par MODULATION COMMUNIQUER
SERIE 4 MODULER - COMMUNIQUER Fonctions du programme abordées : COMMANDER la puissance par MODULATION COMMUNIQUER Objectifs : Réaliser le câblage d un modulateur d après le schéma de puissance et de commande,
Plus en détailChap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1
Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-
Plus en détailCorrigé du baccalauréat S Asie 21 juin 2010
Corrigé du baccalauréat S Asie juin 00 EXERCICE Commun à tous les candidats 4 points. Question : Le triangle GBI est : Réponse a : isocèle. Réponse b : équilatéral. Réponse c : rectangle. On a GB = + =
Plus en détailTraduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Plus en détailINTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
Plus en détailNotions fondamentales du langage C# Version 1.0
Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage
Plus en détailAnnexe : La Programmation Informatique
GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de
Plus en détailBases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Plus en détailStructure du format BMP, sa lecture, sa construction et son écriture
Structure du format BMP, sa lecture, sa construction et son écriture Claude Parisel Mars 2003 Table des matières : 1. Le choix du format 2. Commentaires sur les autres formats 3. Format BMP pour noir&blanc,
Plus en détailET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
Plus en détailProgrammation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire
Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS CCS Sommaire Généralités sur le langage. 2 Structure d un programme en C.. 3 Les constantes et équivalences.. 4 Les variables...
Plus en détailSélection du contrôleur
Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du
Plus en détailReprésentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Plus en détailLogiciels DSPiy. DSPiyStudio logiciels et format des fichiers. incomplet
Logiciels DSPiy DSPiyStudio logiciels et format des fichiers incomplet 1. Organisation et nommage 2. Création d'une Application DSPiy 3. Modification d'une Application 4. Fonctionnement de DSPiyStudio
Plus en détailProgrammation Classique en langage C
DI GALLO Frédéric Programmation Classique en langage C Cours du Cycle d Approfondissement CNAM ANGOULEME 2000-2001 DI GALLO Frédéric Page 1 01/04/01 PROGRAMMATION CLASSIQUE : LANGAGE C DI GALLO Frédéric
Plus en détailCours 1 : Qu est-ce que la programmation?
1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre
Plus en détailJava Licence Professionnelle CISII, 2009-2010
Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :
Plus en détailArchitecture de l ordinateur
Architecture de l ordinateur Emmanuel Lazard Université Paris-Dauphine mars 2011 Computers are my forte! BRAZIL (Terry Gilliam, 1985) Ce document a initialement été publié sous forme de livre : Emmanuel
Plus en détailDE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de
Plus en détailManuel de référence du langage Exemples Les aventures de Docteur R. www.irai.com
Manuel de référence du langage Exemples Les aventures de Docteur R. www.irai.com 1. Eléments communs... 7 1.1. Les variables... 7 1.1.1. Les variables booléennes... 7 1.1.2. Les variables numériques...
Plus en détailCOMPTABILITE SAGE LIGNE 30
COMPTABILITE SAGE LIGNE 30 Date : 25/09/2006 Auteur : Pascal VIGUIER Réf. : SAGE092006 SOMMAIRE SOMMAIRE... 1 1. MENU FICHIER... 3 1.1 1.2 AUTORISATION D ACCES... 3 A PROPOS DE VOTRE SOCIETE... 4 1.2.1
Plus en détailAlgorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
Plus en détailCours Programmation Système
Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février
Plus en détailChapitre 4 : Les mémoires
1. Introduction: Chapitre 4 : Les mémoires Nous savons que dans un ordinateur toutes les informations : valeur numérique, instruction, adresse, symbole (chiffre, lettre,... etc.) sont manipulées sous une
Plus en détail