TD/TP2 (semestre1, période 2) : Fonctionnement de l ordinateur, langage assembleur
|
|
- Madeleine Boulet
- il y a 6 ans
- Total affichages :
Transcription
1 IUT Orléans, Département Informatique ASR : Architectures des Ordinateurs UF2 : Fonctionnement de l ordinateur TD/TP2 (semestre1, période 2) : Fonctionnement de l ordinateur, langage assembleur Chapitre 5 (partie1) : Un simulateur simple pour le langage «assembleur (NASM)» Durant ce TD/TP, on réalise sur une initiation à la programmation en assembleur (voir modèles NASM ou AS). Mais, pour mieux comprendre le fonctionnement de l ordinateur, on utilise ici un simulateur (voir le site SMS32V50). La machine prise en compte par le simulateur n est pas la machine réelle sur laquelle on travaille. C est une machine «8 bits» du type Intel8086. L assembleur proposé «ASSEMBLE» à une syntaxe simplifiée, mais très proche d un sous-ensemble de l assembleur NASM (ou AS) permettant de programmer sur la machine réelle. Seules, un petit nombre d instructions ont une syntaxe légèrement différente : MUL, DIV, décalages, etc. NASM et la machine réelle seront utilisés dans les TD/ TP ASR de la partie système (sous Linux). L assembleur «simplifié» ne propose pas l utilisation de noms symboliques pour les variables : on indique directement des adresses dans la mémoire RAM. Par contre, on dispose d étiquettes symboliques pour les ruptures de séquence. Pour des raisons (évidentes) de simplification, le langage machine binaire généré lors de l assemblage du texte en «NASM simplifié» ne correspond PAS au langage machine de la série IntelX86. La plupart des instructions sont ici codées, de manière très simple, sur 3 octets. L environnement est l environnement Win(XP). On dispose d une représentation simplifiée du clavier» et de «l écran» à travers un «environnement système élémentaire». v 1. Prise en main du simulateur, assemblage du texte d un programme écrit en «NASM simplifié», implantation d un programme en mémoire [Exercices série 1] Architecture de l ordinateur, la carte machine a) Rappeler le schéma («carte machine») de la machine utilisée par le simulateur. On situera notamment les registres utilisateurs ( AL, BL, CL et DL), les registres cachés et la mémoire RAM de 256 octets. Rappeler le rôle des registres de travail et de la mémoire RAM. Comment peut-on visualiser l information en binaire? Le fonctionnement du simulateur b) Quels sont les rôles respectifs des commandes «assemble», «run» et «step» du simulateur? Que peut-on suivre avec les options «write run log» et «run log»? Un modèle de texte de programme pour l implantation en mémoire du code binaire par «ASSEMBLE» c) Proposer un premier texte de programme (- modele01.asm -) contrôlant l emplacement occupé, dans la zone RAM attribuée à un utilisateur, par : - les données initialisées ( des étiquettes datastart à dataend ) et la directive DB; - le code du programme ( de textstart à textend ) et les mnémoniques JMP, HALT, MOV, etc. ; 24/10/07 ASR03-04TD_06V1 19
2 - éventuellement, la zone pour des données NON initialisées ( de bssstart à bssend ). Cette zone peut se partager le reste de la mémoire RAM attribuée à l utilisateur avec la PILE d exécution. Commenter l utilisation de la directive ORG (- qui n est pas une instruction mais une directive à «ASSEMBLE» -) Commenter le fait que cet assembleur «simplifié» ASSEMBLE ne propose pas l utilisation de noms symboliques pour les variables : on indiquera directement des adresses dans la mémoire RAM. Par contre, on dispose d étiquettes symboliques pour les ruptures de séquence. Leur transformation est prise en charge par ASSEMBLE. Rappel : L ensemble de la mémoire comporte ici 256 octets de 00 à FF. La mémoire utilisateur s étend de 00 à BF. Le système utilise la zone C0 à FF pour simuler la «zone vidéo». Il utilise également la zone 0 à xx pour la table des vecteurs d interruptions. La PILE d exécution n est pas utilisée dans ce TD/TP, elle débute en BF (- voir TD/TP partie Système de ASR -) Relever le schéma d occupation de la RAM. Expliquer précisément le rôle et le fonctionnement de «jmp». Le fonctionnement du simulateur, de l assembleur ASSEMBLE et du processeur SMS Classer et expliciter : Les directives pour le simulateur «assemble», «run» et «step», «clo»etc. ; Les directives pour l assembleur ASSEMBLE (- DB, ORG -) ; Les directives (- instructions en binaire après ASSEMBLE -) pour le processeur. 2. Registres, transferts d information entre registres et mémoire [Exercices série 2] Permutation de cases mémoires a) Écrire un premier programme en langage machine ( mov01.asm ) qui réalise l échange du contenu de cases de la mémoire RAM. Ces cases contiennent : - Deux valeurs entières (représentées en complément à 2 sur 8 bits) : ces valeurs sont données en hexadécimal et non en décimal ou en binaire. Elles sont définies ici comme des données initialisées (zone data ) et non saisies au «clavier». - Deux caractères ASCII : ils sont également fournis comme des données initialisées. Rappel : il est nécessaire ici de passer par des registres. Vérifier, en consultant la visualisation de la RAM, le résultat de la permutation. Les choix retenus (- hexadécimal ou ASCII -) sont en rapport avec la directive «DB» disponible. Utilisation de la zone vidéo pour la visualisation (de valeurs codées en ASCII ) b) Compléter le programme ( mov02.asm ) en transférant, avant et après la permutation, les deux caractères ASCII dans la «zone vidéo». On les place en position D0 et E0 avant la permutation ; en position D2 et E2 après. En C1, on placera le message «:». Rappeler ( et tester ) comment sont codés, en binaire et en hexadécimal, les caractères ASCII : {0,, 9], {A,, Z}et {+, -, /, *, % }. Remarque : Que faudrait-il faire pour visualiser, en zone vidéo, les deux «valeurs entières» codant les caractères au lieu des deux caractères ASCII? Ne pas écrire ce programme pour l instant, voir plus loin dans les applications. 24/10/07 ASR03-04TD_06V1 20
3 Saisie au clavier par «in» (- lecture de valeurs codées en ASCII sur un octet -) c) Introduire ( mov03.asm ) la lecture au clavier d une nouvelle valeur pour les 2 caractères ASCII. Réaliser la séquence : lecture, visualisation, permutation et visualisation. Comment pourrait-on utiliser la zone «bss» des données non initialisées? Remarque : Le simulateur n offre pas d instruction mov Reg1, Reg2. On verra plus loin comment permuter le contenu de ces deux registres sans utiliser une case mémoire (voir plus loin les instruction XOR et OR). Ensemble des cinq possibilités de l instruction de déplacement (- lecture/écriture en RAM -) d) Proposer maintenant un programme ( mov04.asm) montrant l ensemble des possibilités des instructions «mov». Ne pas oublier les déplacements indirects, ils seront nécessaires par la suite. Ensemble des (autres) périphériques disponibles dans le simulateur e) Tester et commenter le programme de démonstration demo01.asm. 3. Instructions arithmétiques [Exercices série 3] Addition de deux entiers [arit03.asm ] a) Écrire un programme ( arit01.asm et arit02.asm ) réalisant l addition de deux entiers courts (8bits). Les entiers sont : - Définis en valeurs immédiates ; - Définis par des données initialisées et placés dans des cases mémoires ; Rappel : les entiers sont codés en complément à 2 et ces valeurs sont données en hexadécimal. Possibilités des opérations arithmétiques b) Proposer un programme ( arit03.asm ) montrant et regroupant les différentes possibilités des opérations arithmétiques. Multiplications et divisions, introduction des décalages c) Comment sont représentés les nombres entiers négatifs. [Montrer dans quel cas une multiplication ou un division par 16 correspondent à des décalages de 4 positions binaires (arit04.asm).] 4. Opérations logiques et opérations de décalage [Exercices série 4] Opérations logiques [logi01 à logi04] a) Donner un programme (logi01.asm ) montrant les différentes possibilités de AND, OR, XOR et NOT. b) Utiliser XOR et OR pour transférer le contenu d un registre dans un autre ( logi02.asm ) c) Utiliser aussi l instruction AND pour transcoder un caractère hexadécimal, lu en ASCII, vers sa valeur binaire ( logi03.asm). On distingue : - Valeurs souhaitées de 0 à 9 codées en binaire sur 4 positions et codes ASCII introduits par les touches du clavier de «0» à «9» 8 ; 8 Exemple ASCII [ [1] CLAVIER ] = , [ ] 2 = [3 1] 16 et 2 [ [1] CLAVIER ]? /10/07 ASR03-04TD_06V1 21
4 - Valeur souhaitées de 10 à 15 codées en binaire sur 4 positions et codes ASCII introduits par les touches du clavier de «A» à «F». Remarque : On n effectue pas, pour l instant, de contrôle sur les valeurs lues. Ces contrôles seront introduit plus tard sur une version logi03c.asm (Voir également plus loin, l exercice complet e_shexa.asm). Il est important ici d analyser ce transcodage et sa nécessité. On pourra éventuellement placer les 4 positions binaires obtenues après transcodage en partie basse ou en partie haute d un même octet (- voir : décalages -). On pourra également, en sens inverse, réécrire à l écran les codes hexadécimaux correspondant à une valeur binaire sur 8 positions.. Opérations de décalage d) Charger une valeur immédiate dans BL et visualiser ( sur l écran de la «zone vidéo» ) le bit de poids fort ( logi04.asm ). Remarque : L exercice sera repris plus loin pour visualiser successivement toutes les positions binaires (- logi04c.asm -). Voir également plus loin e_sbin.asm. Eventuellement, lire un caractère 0/1 en ASCII, le transcoder en valeur binaire sur 8 bits (- exercice précédent -) et visualiser à l écran le bit de poids faible. 5. Introduction des instructions de ruptures de séquences [exercices série 5] Sélection et répétition en assembleur (utilisation des étiquettes, instructions cmp, jmp et jcond) [Commentaires et modèles simples] a) A l aide des instructions de base jmp, cmp et jcond présentées en cours, définir «l équivalent» des l instructions: «if (cond) { } else { }» ; «do { }while(cond) ;» ;«while(cond) { }» et «switch» Exemple simple avec une sélection [Exercice sisinon01.asm] b) Écrire des programmes ( sisinon01.asm ) qui, disposant de deux entiers (données initialisées en constantes), affiche - l un des trois messages : 1 > 2, 2 >1 ou 1=2 ( le 1 est supérieur au 2, etc.). Exemple simple avec un aiguillage [Modification exercice précédent ] c) Reprendre éventuellement le programme précédent avec une structure d aiguillage. Itération et écriture d une chaîne ASCII [Exercice e_sascii.asm] d) Proposer un programme ( e_sascii.asm ) qui écrit une chaîne ASCII sur l écran vidéo. La chaîne est d abord définie comme un message (donnée initialisée), puis elle est lue au clavier et réécrite. Exemple avec un aiguillage et une visualisation simple d une position décimale [Exercice arith05.asm ] e) Proposer un programme ( arit05.asm ) qui, disposant déjà de deux nombre entiers ( données initialisées en constantes et inférieures à 10), lit un opérateur (opérateur choisi parmi : + - * / % ). L opérateur est introduit au clavier. Le programme affiche le résultat de l opération demandée en réalisant un aiguillage à partir de l opérateur. Le résultat à tester sera ici inférieur à 10 - donc à visualiser sur une seule position décimale -, mais on tiendra compte d un résultat éventuellement négatif 24/10/07 ASR03-04TD_06V1 22
5 Exemple avec des structures itératives [e_sbin.asm] f) Un programme lit successivement, puis réécrire les 8 positions binaires [réalisant une itération de 8 pas]. La lecture a lieu sur le clavier (donc, en ASCII caractère par caractère). L écriture des 8 positions binaires est faite sur l écran vidéo. Exemple- facultatif - avec des structures itératives [Exercices Logi03C.asm, logi04d.asm] g) A partir de l exercice logi03.asm de 4c) proposer une version plus complète logi03c.asm : on ajoute une structure de contrôle de type aiguillage permettant de vérifier que l on a bien introduit pour fournir une valeur binaire - un caractère hexadécimal [ On utilise également une sélection si ]. Réécrire cette valeur en hexadécimal en passant par la zone vidéo [On utilise un aiguillage ou une sélection si_sinon ]. Reprendre le programme logi04.asm de 4d) sous le nom, logi04d.asm - : on donne une valeur binaire en hexadécimal (- saisie et contrôle de 2 caractères hexadécimaux à partir de l exercice précédent logi03c.asm -) dont on visualise successivement les 8 positions binaires dans la zone vidéo. [ Aiguillage, puis itération pour la visualisation des 8 bits.] [Voir directement plus loin l application e_shex.asm où l on saisit et on réécrit deux caractères hexadécimaux pour disposer d un valeur sur 8 bits?] 6. Applications des notions précédentes Application1, lecture et ré-écriture d un nombre décimal [Exercice e_snombre.asm ] Proposer un programme ( e_snombre.asm ) qui lit un nombre décimal compris entre -127 et +127 (- donc, sur le terminal, caractère ASCII par caractère, signe compris -). Ce programme construit la valeur décimale correspondante (- donc, codée en binaire complément à 2 -) et la range en mémoire. Puis, il réécrit cette valeur à l écran (- donc, caractères ASCII par caractère ASCII -). Application2, réaliser une opération entre 2 entiers [Exercice : e_snombres.asm d après sisinon01.asm et e_snombre.asm] Proposer un programme ( e_snombres.asm ) qui, disposant de deux nombres entiers (données initialisées) et d un opérateur saisi au clavier (opérateur choisi parmi : + - * / % ), réalise l opération demandée et affiche le résultat. Seul l un des deux nombres est saisi au clavier (problème de taille du programme) Application3, lecture/écriture et traitement de chaînes héxadécimales [Exercice e_shex.asm d après logi3c.asm] Proposer un programme ( e_shex.asm ) qui obtient la valeur d un entier naturel (- compris entre 0 et 255 -) codée en binaire. Il lit cette donnée sous la forme de deux caractères hexadécimaux introduits au clavier (donc, sous forme de caractères ASCII ). Le programme reconstruit donc la valeur binaire, sur 8 bits, à partir de ces deux caractères hexadécimaux (récupérés successivement au clavier donc en en ASCII ). Ensuite, le programme ré-écrire la valeur binaire en hexadécimal sur «l écran vidéo» (donc, de nouveau, sous la forme de deux caractères en ASCII codant les deux caractères hexadécimaux). 24/10/07 ASR03-04TD_06V1 23
6 24/10/07 ASR03-04TD_06V1 24
7 IUT D Orléans, Département Informatique ASR : Architectures des Ordinateurs UF2 : Fonctionnement de l ordinateur Eléments de réponse : corrections autour du fonctionnement de l ordinateur 24/10/07 ASR03-04TD_06V1 25
8 Annexes autour de l utilisation du simulateur : Le simulateur 24/10/07 ASR03-04TD_06V1 26
9 Exemples (partiels) de programmes Modele01.asm ; Exercice: modele01_2005.asm monprog: ; nom (externe) du programme: momprog, point de lancement imposé en 00 jmp textstart ; renvoi vers le début effectif du programme ; lancement systématiquement dans la case 0 ; par le "système" ; d'ou, un ensemble de renvois ; Zone pour la TABLE des INTERRUPTIONS, NON PRISE EN COMPTE ICI... ; TABLE ; ; ; directement vers début effectif du CODE textstart en évitant les données ; DATA datastart: ; zone DONNEES INITIALISEES ; exemple: db 30 ; octet1 en 02 (hex.), valeur 30 (hex.) db 31 ; octet2 en 03 (hex.), valeur 31 (hex.) db "ABC...abc" ; chaîne en ASCII (début en 04) db 0 ; marque fin de chaîne si nécessaire dataend: ; fin DONNEES ; CODE ORG 10 ; à tester, début du code en 10 textstart: ;début du CODE mov dl, 02 ;si nécessaire: début données... push dl ; pour voir la PILE halt textend: ; fin du CODE ; BSS bssstart: ; zone DONNEES NON INITIALISEES ; exemple: ORG 20 ; db "ICI" bssend: ;fin DONNEES NON INITIALISEES ; end ; Exercice: mov01.asm monprog: jmp textstart ; nom du programme ; DATA datastart: ; zone DONNEES INITIALISEES(début en 02) ; exemple: db 00 ; octet1 en 02 (hex.), valeur 00 (hex.) db 01 ; octet2 en 03 (hex.), valeur 01 (hex.) db "0" ; octet3 en 04 (hex.), valeur ASCII db "1" dataend: ; fin DONNEES ORG 10 ; CODE textstart: ;début du CODE ; séquence permutation: mov AL, [02] mov BL, [03] mov [02], BL mov [03], AL 24/10/07 ASR03-04TD_06V1 27
10 mov AL, [04] mov BL, [05] mov [04], BL mov [05], AL halt textend: ; fin du CODE ; BSS bssstart: ; zone DONNEES NON INITIALISEES bssend: ;fin DONNEES NON INITIALISEES ; end mov02.asm ; Exercice: mov02.asm monprog: jmp textstart ; nom du programme ; DATA datastart: ; zone DONNEES INITIALISEES ; exemple: db "0" ; octet1 en 02 (hex.), car. ASCII db "1" ; octet2 en 03 (hex.), car. ASCII db ":" ; chaîne en ASCII (début en 04) db 0 ; marque fin de chaîne si nécessaire dataend: ; fin DONNEES ORG 10 ; CODE textstart: ;début du CODE ; séquence 1 de visualisation (ASCII): mov AL, [02] ; caractère ASCII dans [02] mov [D0], AL ; placé en zone vidéo, position D0 mov AL, [03] ; caractère ASCII dans [03] mov [E0], AL ; placé en zone vidéo, position E0 mov AL, [02] mov BL, [03] mov [02], BL mov [03], AL ; séquence permutation: ; séquence 2 de visualisation (ASCII): mov AL, [04] ; message (ASCII) dans [04], soit : mov [C1], AL ; placé en zone vidéo, position C0 mov AL, [02] ; caractère ASCII dans [02] mov [D2], AL ; placé en zone vidéo, position D0 mov AL, [03] ; caractère ASCII dans [03] mov [E2], AL ; placé en zone vidéo, position E0 halt textend: ; fin du CODE ; BSS bssstart: ; zone DONNEES NON INITIALISEES bssend: ;fin DONNEES NON INITIALISEES ; end 24/10/07 ASR03-04TD_06V1 28
USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 :
USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 : Objectifs du TP Ce TP a pour but 1. de découvrir quelques opérations logiques sur les nombres 2. et quelques formats de fichiers.
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é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é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étailStructure 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 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é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é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é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é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é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é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é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é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é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é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é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é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étailUEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
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é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é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é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é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étailAssembleur. Faculté I&C, André Maurer, Claude Petitpierre
Assembleur Faculté I&C, André Maurer, Claude Petitpierre INTRODUCTION Logiciel utilisé Faculté I&C, André Maurer, Claude Petitpierre MEMOIRE Mémoire Faculté I&C, André Maurer, Claude Petitpierre Mémoire
Plus en détailCodage d information. Codage d information : -Définition-
Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale
Plus en détailTP 1 : 1 Calculs en binaire, octal et hexadécimal
Univ. Lille 1 - Licence Informatique 2ème année 2013-14 Objectifs du TP Ce TP a pour but Codage de l'information TP 1 : 1. de découvrir quelques opérations logiques sur les nombres 2. et quelques formats
Plus en détailCours Informatique 1. Monsieur SADOUNI Salheddine
Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale
Plus en détailLa mémoire. Un ordinateur. L'octet. Le bit
Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve
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é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é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étailOrdinateurs, Structure et Applications
Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle
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étailV- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
Plus en détailInformatique Générale
Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html
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étailArithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Plus en détailSystème binaire. Algèbre booléenne
Algèbre booléenne Système binaire Système digital qui emploie des signaux à deux valeurs uniques En général, les digits employés sont 0 et 1, qu'on appelle bits (binary digits) Avantages: on peut utiliser
Plus en détailUnix/Linux I. 1 ere année DUT. Université marne la vallée
Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
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
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é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é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étailChapitre 10 Arithmétique réelle
Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013
Plus en détailReprésentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
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é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étailTP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
Plus en détailManuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Plus en détailLogiciel de Base. I. Représentation des nombres
Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) mugwaneza@univmed.fr I. Représentation des nombres Codage et représentation de l'information Information externe formats
Plus en détailTD Architecture des ordinateurs. Jean-Luc Dekeyser
TD Architecture des ordinateurs Jean-Luc Dekeyser Fiche 1 Nombres de l informatique Exercice 1 Une entreprise désire réaliser la sauvegarde de ses données sur un site distant. Le volume de données à sauvegarder
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étailRappels sur les suites - Algorithme
DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................
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étailIntroduction à la programmation Travaux pratiques: séance d introduction INFO0201-1
Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un
Plus en détailACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
Plus en détailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
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étail1 Lecture de fichiers
Programmation 1 Cours n 6 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot 1 Lecture de fichiers Un fichier est une suite de caractères mémorisés sur le disque dur de la machine dans un endroit
Plus en détailProbabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12
Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailIntroduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
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étailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
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étailLES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
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é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étailCours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
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étailTravaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES
TRAVAUX PRATIQUES Le présent travail vise à développer une interface visuelle de programmation des entrées- sorties du port LPT d un PC à l aide du logiciel VISUAL BASIC. I- EDITION ET TEST DU PROGRAMME
Plus en détailLes structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Plus en détailCours d algorithmique pour la classe de 2nde
Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage
Plus en détailInitiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
Plus en détailnom : Collège Ste Clotilde
UNE CONFIGURATION INFORMATIQUE Objectif : Identifier les éléments principaux d une configuration L ordinateur enregistre des données qu il traite pour produire un résultat Sifflements 20 Notice 12 attache
Plus en détailLes opérations binaires
Les opérations binaires Compétences associées A2 : Analyser et interpréter une information numérique Objectifs Etre capable: - De coder les nombres entiers en code complément à 2. - De résoudre les opérations
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étailDéfinitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
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étailShare Monitor Manuel de l utilisateur
Share Monitor Manuel de l utilisateur KKApple Inc. Copyright 2013 Apple Inc. Tous droits réservés. Vos droits sur le logiciel sont régis par l accord de licence qui l accompagne. Le propriétaire ou l utilisateur
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étailConversion d un entier. Méthode par soustraction
Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut
Plus en détailCours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
Plus en détailIntroduction à l algorithmique et à la programmation (Info 2)
Introduction à l algorithmique et à la programmation (Info 2) Premier cours: présentation du module, codage et définition de l algorithmique Matthieu Puigt IUT du Littoral Côte d Opale DUT Génie Industriel
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étailJeu d instructions NIOS II
Jeu d instructions NIOS II 1 Formats d instructions Le processeur NIOS II a un jeu d instructions de type RISC. Il possède 32 registres de 32 bits, notés r0 à r31, avec r0 0. Les instructions sont de longueur
Plus en détailChapitre 1 I:\ Soyez courageux!
Chapitre 1 I:\ Soyez courageux! Pour ne rien vous cacher, le langage d'assembleur (souvent désigné sous le terme "Assembleur", bien que ce soit un abus de langage, puisque "Assembleur" désigne le logiciel
Plus en détailConcept de machine virtuelle
Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine
Plus en détailCorrigé des TD 1 à 5
Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un
Plus en détailProgrammation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Plus en détailDocument de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP
Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Document de formation T I A Page 1 sur 23 Module A5 Ce document a été édité par Siemens
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailDéfinition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3
8 Systèmes de numération INTRODUCTION SYSTÈMES DE NUMÉRATION POSITIONNELS Dans un système positionnel, le nombre de symboles est fixe On représente par un symbole chaque chiffre inférieur à la base, incluant
Plus en détailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Plus en détailProgrammation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Plus en détailIMAGES NUMÉRIQUES MATRICIELLES EN SCILAB
IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB Ce document, écrit par des animateurs de l IREM de Besançon, a pour objectif de présenter quelques unes des fonctions du logiciel Scilab, celles qui sont spécifiques
Plus en détail1 Introduction au codage
CélestineOscarDésiréAnatoleGastonEugène 1 Introduction au codage 1.1 Les ensembles L ensemble de tout les ensembles est Dieu lui-même. Kantor Ensemble des parties d un ensemble désigne l ensemble des sous-ensembles
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étail