Ordinateurs, Structure et Applications
|
|
- Roger Piché
- il y a 7 ans
- Total affichages :
Transcription
1 Ordinateurs, Structure et Applications Cours 8, Assembleur ARM ARM, MOV, LDR et ADD Etienne Tremblay Université Laval, Hiver 2014 Cours 8, p.1
2 Contenu de la présentation Comme tout langage de programmation, l assembleur ARM permet d effectuer les opérations suivantes: Déclarer des variables et leur affecter des valeurs Effectuer des opérations mathématiques et logiques Gérer la séquence des opérations avec des énoncés conditionnels et des boucles Appeler des fonctions (diviser une tâche en sous-tâches) Gérer les évènements et les exceptions Cette présentation présente les deux premiers points. Les autres points sont vus dans les cours qui suivent. De nombreux documents sont disponibles sur internet et présentent l assembleur ARM en détail (voir les références à la fin). Cours 8, p.2
3 L assembleur: des instructions en mots Comme vu dans les cours précédents, le microprocesseur lit et exécute des instructions. Chaque instruction, en mémoire, est constituée d un opcode et de paramètres qui dépendent de l opcode. Il est donc possible d écrire un programme en binaire si on sait comment représenter les instructions avec des «0» et des «1». Toutefois, le processus est très pénible: qui voudrait écrire 0x23AB435F4EE7832FFA pour effectuer l opération «a = b + c»? Un assembleur est un programme qui traduit des mots, en anglais, dans un fichier texte, en instructions. Il y a un mot, ou mnémonique, associé à chaque instruction. Pour effectuer a = b + c, il est beaucoup plus facile d écrire: LDR R0, b ; Lire la variable b dans le registre R0 LDR R1, c ; Lire la variable c dans le registre R1 ADD R2, R0, R1 ; Registre R2 = R0 + R1 STR R2, a ; Écrire le registre R2 dans la variable a Cours 8, p.3
4 Plus que des instructions en mots Le langage assembleur fait plus que traduire des mots/mnémoniques en binaire. Il interprète aussi le texte de plusieurs façons: L assembleur permet d associer des mots du programmeur à des adresses de mémoire. L assembleur permet au programmeur de déclarer des variables et il gère l adresse de ces variables à travers les instructions du programme. L assembleur permet au programmeur d identifier des fonctions ou des sections de codes avec des étiquettes (labels). Lorsque l assembleur décode un appel de fonction ou un branchement (saut) dans le programme, il remplace les étiquettes par les adresses ou déplacements (offset) appropriées. L assembleur supporte des directives qui lui disent comment placer le code en mémoire, comment gérer plusieurs fichiers, comment précompiler le code modifier le code avant de le traduire en binaire-, et plus. Les directives sont des mots réservés qui ne génèrent pas de code en binaire, mais dirige la création du code exécuté. L assembleur permet d insérer des commentaires dans le code, ce qui est plus que nécessaire! Cours 8, p.4
5 Un exemple de programme NAME main ;Nom du fichier/module PUBLIC iar_program_start ;Rend l'étiquette iar_program_start disponible pour d'autres fichiers SECTION.intvec : CODE (2) ;Le texte qui suit doit être assemblé dans la mémoire FLASH CODE32 ;Les instructions qui suivent sont sur 32 bits iar_program_start ;Étiquette iar_program_start: IAR commence le programme ici B main ;Saut/Branchement vers l'étiquette main ;MaVarA = MaVarB + MaVarC main LDR R0, MaVarB ;Lecture de mémoire, met MaVarB, 0x000000BB, dans R0 LDR R1, MaVarC ;Lecture de mémoire, met MaVarC, 0x000000CC, dans R1 ADD R2, R0, R1 ;R2 = R0 + R1 LDR R3,=MaVarA STR R2, [R3] ;Écriture de mémoire, met R2 (MaVarB + MaVarC) dand MaVarA B main ;Boucle infinie: retour à l'étiquette main DATA ;Le texte qui suit doit être assemblé comme des constantes en FLASH MaVarB DC32 0x000000BB ; Déclaration de MaVarB, sur 32 bits, valeur initiale = 0xBB MaVarC DC32 0x000000CC ;Déclaration de MaVarC sur 32 bits, valeur initiale = 0xCC SECTION `.noinit`:data(2) ;Variables en mémoire RAM! MaVarA DS32 1 ;Déclaration de MaVarA comme une variable de 1*32 bits END ;Fin du fichier/module Cours 8, p.5
6 Types d instructions Il y a six types d instructions dans l assembleur ARM: Déplacement de données: Transfert de données ou de constante impliquant des registres seulement. Accès à la mémoire: l instruction, un load ou store, lit ou écrit la mémoire. La valeur lue est mise dans un registre. La valeur écrite provient d un registre. Opération arithmétique: addition, soustraction, multiplication, division et plus. Les calculs s effectuent sur des registres et peuvent changer les drapeaux de l unité d arithmétique et de logique (ALU). Opération logique: ET, OU, NON-OU, OU EXCLUSIF et plus. Les calculs s effectuent sur des registres et peuvent changer les drapeaux de l unité d arithmétique et de logique (ALU). Gestion de la séquence d instructions: saut et branchements. Peuvent être conditionnels ou inconditionnels, à des adresses directes ou indirectes. Comprend les appels de fonctions. Contrôle du système: Comprend toutes les autres instructions contrôlant le microprocesseur. Permet de gérer le temps, le format des instructions, l exécution en pipeline, les interruptions et plus. Cours 8, p.6
7 Déplacement de Données: MOV L instruction MOV Rn, Op1 met l opérande de type 1 dans le registre visé: Rn = Op1 Op1 est une opérande de type 1: il s agit d une constante ou d un registre. S il s agit d un registre, il est possible de faire des décalages de bits (avec le «Barrel Shifter» de l ALU) sur la valeur de l opérande avant de faire l affectation. Cinq opérations sont possibles: LSL, LSR, ASR, ROR et RRX. Ces opérations sont détaillées en Annexe A. Une constante (immédiate) est toujours précédée du symbole # Il existe deux options possibles pour MOV: exécution conditionnelle et changement des drapeaux. L instruction MOVcc s exécutera seulement si la condition décrite par cc est rencontrée (voir prochaine page). L instruction MOVS change les drapeaux Exemples: MOV R0, #1234 ; R0 = 1234 MOV R0, R1 ; R0 = R1 MOV R0, R1, ASR #2 ; R0 = R1 / 4 MOVEQ R0, R1 ; R0 = R1 seulement si le drapeau Z est 1 MOVS R0, R1 ; R0 = R1, change les drapeaux de l ALU Cours 8, p.7
8 Code de Condition (CC) Plusieurs instructions s exécutent si une condition est rencontrée. Toutes les conditions sont évaluées à partir des drapeaux de L ALU et assument que ceux-ci ont été déterminés auparavant. Par exemple, la condition EQ (equal) assume qu une soustraction ou comparaison a été faite avant: si le résultat de l opération est 0, le drapeau Z sera à 1 et la condition EQ sera rencontrée. Les drapeaux N (Negative), Z (Zero), C (Carry) et V (Overflow) servent à évaluer toutes les conditions. Les drapeaux et les conditons à évaluer changent si les nombres comparés son signés ou s ils ne le sont pas. Voici la liste des codes de condition de l assembleur ARM: Mnemonic Condition Mnemonic Condition CS Carry Set CC Carry Clear EQ Equal (Zero Set) NE Not Equal (Zero Clear) VS Overflow Set VC Overflow Clear GT Greater Than LT Less Than GE Greater Than or Equal LE Less Than or Equal PL Plus (Positive) MI Minus (Negative) HI Higher Than LO Lower Than (aka CC) HS Higher os Same (aka CS) LS Lower or Same Cours 8, p.8
9 Déclaration de variables Une variable est un nom donné à une adresse de mémoire. Il n existe pas d instruction pour créer ou manipuler des variables. Il n existe que des instructions pour manipuler la mémoire. Les variables sont des créations du langage assembleur afin de faciliter la création d un programme: Il est plus facile de retenir un nom qu une adresse de mémoire!!! Avec l assembleurs de ARM, la syntaxe pour déclarer une variable est: nom DSss NombreDeMots pour déclarer une variable/tableau de taille ss ayant NombreDeMots. Exemple: MaTable DS32 3 réserve 3*32 bits de mémoire à l adresse qui sera allouée à «MaTable». nom DCss valeur pour déclarer une constante de taille ss dont la valeur initiale est valeur et le nom est nom. ss peut être 8, 16, 32, B, W, D La directive DC sert à un insérer des bytes dans la mémoire ROM du système. L adresse de ces bytes est l adresse de la constante. Il est possible, si l on connaît les opcodes et les opérandes des instructions ARM, décrire un programme avec des DC! L assembleur s occupera de remplacer tous les noms des variables par les adresses correspondant à ces nom. Exemples: MonInt DC32 0x MonOctet DB 0x22 Cours 8, p.9
10 Déclaration de variables: Tableaux Les tableaux peuvent être vus comme des chaînes de variables. Une chaîne texte est un exemple de tableau d'octets, chaque caractère est présenté comme un élément de code ASCII (0 à 255). Voici quelques exemples de définition d'un tableau de constantes: a DCB 48h, 65h, 6Ch, 6Ch, 6Fh, 00h b DCB 'Hello', 0 b est la copie exacte de a. Lorsque le compilateur voit une chaîne entourée par des guillemets, il la convertit automatiquement en un ensemble d'octets. Voici quelques exemples de définition d'un tableau de données: MaTable DS32 8 (MaTable aure 8 mots/int de 32 bits) MaTable2 DS8 64 (MaTable2 aura 64 octets) Tiré du didacticiel de EMU8086 Cours 8, p.10
11 Accès Mémoire: Load/Store Les accès à la mémoire d un processeur ARM se font avec deux instructions: LDR et STR. LDR (LoaD Register) lit la mémoire et met la valeur lue dans un registre. STR (STore Register) met la valeur d un registre dans la mémoire. Ces instructions ont le format: LDR Rd, Op2 et STR Rs, Op2 Rd et Rs décrivent le registre de destination ou de source Op2 décrit l adresse de mémoire ou de périphérique visée par l instruction. Voir la prochaine acétate pour le détail. Les symboles «[ x ]» indiquent qu il s agit d une adresse. Exemples: LDR R1, [R2] ;R1 = Mémoire[R2] (l adresse de mémoire désignée par R2) LDR R1, [R2, #4] ;R1 = Mémoire[R2+4] LDR R1, [R2, R3] ;R1 = Mémoire[R2+R3] Cours 8, p.11
12 Opérande de type 2 Op2 symbolise tous les modes d adressage du microprocesseur, c est-à-dire toutes les façons permises pour désigner une adresse de la mémoire. LDR Rd, Op2 se découpe ainsi: LDR Rd, [Rb, Offset] Rb est le registre de base Offset est soit une constante, soit un registre, soit une opérande de type Op1 (un regisitre avec des bits décalés voir précédemment-) LDR R0, [R1, #123] ;Offset = constante LDR R0, [R1, R2] ;Offset = Registre LDR R0, [R1, R2 LSL #2] ;Offset = Op1 Rb et l Offset s additonnent toujours pour former l adresse visée. Pour faciliter les accès aux tableaux, il est possible de changer le registre de base (Rb) avant ou après le calcul d accès à la mémoire (pre-indexing ou post-indexing). Le symbole! indique du pre-indexing. Le post-indexing se fait en dehors des []. LDR R0, [R1, #4]! ;R0 = Mem[R1 + 4] et R1 = R1 + 4 LDR R0, [R1], #4 ;R0 = Mem[R1] et R1 = R1 + 4 Cours 8, p.12
13 Accès Mémoire: Load/Store Multiple Les instructions LDM (LoaD Multiple) et STM (Store Multiple) permettent de lire des mots de mémoire contigus et de mettre les valeurs lues dans plusieurs registres. Une seule instruction LDM peut remplacer plusieurs instructions LDR si les adresses visées se suivent. Les instructions LDM et STM sont utilisés pour lire/écrire des données de tableaux ou pour sauvegarder/récupérer de l information sur la pile (voir les prochains cours). Comme LDM et STM sont des instructions longues à exécuter par rapport aux autres instructions, elles sont traitées spécialement lors d interruptions ou dans l exécution en pipeline. LDM et STM peuvent s exécuter conditionnellement, avec un mode d exécution (comment incrémenter/décrémenter l adresse entre chaque mot lu) et permettent de mettre à jour le registre décrivant l adresse (symbole!). Syntaxe: LDMccmm Ra{!}, {Liste de registres}, mm = Decrement Before, Decrement After, Increment Before or Increment After Exemples: STMDB SP!, {R0, R1} ;R0 = Mem[SP-4], R1 = Mem[SP-8], SP = SP-8 LDMIA SP!, {R0, R1} ;R0 = Mem[SP], R1 = Mem[SP+4], SP = SP+8 Cours 8, p.13
14 Accès Mémoire et Variables Les instrctions LDR et STR sont utilisée avec la syntaxe suivante pour accéder aux variables: LDR Rd, NomDeVariable ;Met la valeur de la variable dans Rd LDR Rd, =NomDevariable ;Met l adresse de la variable dans Rd Le symbole «=» utilisé dans l instruction LDR ou STR indique «l adresse de». L assembleur traduit la ligne «LDR Rd, NomDeVariable» ou «LDR Rd, =NomDeVariable» en plusieurs instructions du processeur: Toutes les adresses sont sur 32 bits et toutes les instructions sont sur 16 bits ou 32 bits. Une instruction 32 bits ne peut pas contenir un opcode, un numéro de registre et une adresse de 32 bits Lors d un LDR R0, MaVar, l assembleur placera les items suivants en mémoire: L adresse de MaVar sera en mémoire code, définie comme une constante Une instruction LDR Rd, [PC+Offset] mettra l adresse de MaVar dans Rd. Ici, Offset est une constante qui dépend de la distance entre l instruction LDR et l adresse de MaVar (constante en code). Une autre instruction LDR R0, [Rd] mettra la valeur de Mavar dans R0 Cours 8, p.14
15 Instructions arithmétiques et logiques: principe Les opérations mathématiques et logiques fonctionnent avec un registre de destination et deux opérandes. Le premier opérande est un registre et le deuxième est un opérande de type Op1 (une constante ou un registre décalé). Le format de l instruction Add, par exemple, est: Add Rd, Rs, Op1 Les instructions arithmétiques et logiques changent les drapeaux de l ALU, lorsque l option S est ajoutée (voir registre CSPR du cours 6). Les instructions arithmétiques et logiques peuvent s exécuter conditionnellement. Exemples: ADD R0, R1, R2 ;R0 = R1 + R2 ADC R0, R1, #123 ;R0 = R Carry MVNS R0, R1 ;R0 = ~R1 ; Met à jour les drapeaux EORLO R0, R1, R1 ;Si LOwer, R0 = R1 XOR R1 = 0 ORRHI R0, R1, R2, ASR #1 ; Si HIgher, R0 = R1 OU (R2/2) Cours 8, p.15
16 Exemple: Addition de variables sur 64 bits NAME Addition64bits ;Nom du fichier/module; Addition sur 64 bits en little endian PUBLIC Additonne64Bits ;Rend l'étiquette/fonction Additonne64Bits disponible pour d'autres fichiers SECTION.intvec : CODE (2) ;Le texte qui suit doit être assemblé dans la mémoire FLASH CODE32 ;Les instructions qui suivent sont sur 32 bits Additonne64Bits LDR R0, =MaVarOp1 ;Met l'adresse de MaVarOp1 dans R0 LDR R1, [R0] ;Met les 4 octets les moins signification d'op1 dans R1 LDR R2, [R0,#4] ;Met les 4 octets les plus signification d'op1 dans R2 LDR R0, =MaVarOp2 ;Met l'adresse de MaVarOp2 dans R0 LDR R3, [R0] ;Met les 4 octets les moins signification d'op2 dans R3 LDR R4, [R0,#4] ;Met les 4 octets les plus signification d'op2 dans R4 ADDS R5, R1,R3 ;R5 = R1 + R3, additionne les octets les moins significatifs et met à jour Carry ADC R6, R2,R4 ;Additionne les octets les plus significatifs avec la retenue LDR R0, =MaVarRes ;Met l'adresse du résultat dans R0 STR R5, [R0] ;Sauvegarde le résultat: bit les moins significatifs STR R6, [R0,#4] ;Sauvegarde le résultat: bit les plus significatifs BX LR ;Return DATA ;Le texte qui suit doit être assemblé dans la mémoire FLASH, constantes MaVarOp1 DCW 0x , 0x ;Déclaration de l'opérande 1 sur 2 fois 32bits MaVarOp2 DCW 0x , 0x ;Déclaration de l'opérande 2 sur 2 fois 32bits SECTION `no_init`: DATA (2) ;Le texte qui suit doit être assemblé dans la mémoire RAM MaVarRes DS32 2 ;Déclaration du resultat sur 2 fois 32 bits END ;Fin du fichier/module Cours 8, p.16
17 Références et exercices Références pour l assembleur ARM Architecture Reference Manual, ARMv7-M_ARM.pdf ARM, Assembly Langage Programming M_AssyLang.pdf ARM, IAR Assembler RM_AssemblerReference.ENU.pdf Cours 8, p.17
18 Annexe 1: Décalage de bits LSL, Logical Shift Left, décale les bits vers la gauche et met des zéros à droite. Décaler un bit vers la gauche équivaut à multiplier par 2. Carry devient égal au bit le plus significatif. LSR, Logical Shift Right, décale les bits vers la droite et met des 0 à gauche. Décaler un bit vers la droite équivaut à diviser un nombre non-signé par 2. Carry devient égal au bit le moins significatif. ASR, Arithmetical Shift Right, décale les bits vers la droite et copie le bit le plus significatif à gauche. Décaler un bit vers la droite en conservant le bit de signe équivaut à diviser un nombre signé par 2. Carry devient égal au bit le moins significatif. ROR, Rotate Right, décale les bits vers la droite et met le Carry à gauche. Carry devient égal au bit le moins significatif. RRX, Rotate Right extended équivaut à ROR #1. Cours 8, p.18
Microprocesseur + 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é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é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é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é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é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é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é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é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é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étailExécution des instructions machine
Exécution des instructions machine Eduardo Sanchez EPFL Exemple: le processeur MIPS add a, b, c a = b + c type d'opération (mnémonique) destination du résultat lw a, addr opérandes sources a = mem[addr]
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é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é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é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étail1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :
GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours
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é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é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é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étailPrésentation du cours
Thibault HILAIRE thibault.hilaire@lip6.fr François PECHEUX francois.pecheux@lip6.fr Informatique générale 1 (Python) Introduction Présentation du cours AGRAL-MTX-GM 2014-2015 20h de cours, 40h de TP/projets
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étailTraduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu
Travaux d études et de recherches Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu Étudiant : Luc Michel Encadrants : Frédéric Pétrot Nicolas Fournel 23 mai 2010 TABLE DES MATIÈRES
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é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é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é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é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é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étailIFT2880 Organisation des ordinateurs et systèmes
Représentation des nombres flottants Notation exponentielle Représentations équivalentes dans la base 10 de 1,234 1 2 3, 4 0 0. 0 x 1 0-2 1 2, 3 4 0. 0 x 1 0-1 1, 2 3 4. 0 x 1 0 1 2 3. 4 x 1 0 1 2. 3 4
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é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é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é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é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é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é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é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é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é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étailUne version javascript sera disponible directement dans le cours prochainement.
Author : Cédric Vanconingsloo Ce cours est principalement axé sur la compréhension du fonctionnement d'un ordinateur et l'étude du seul langage qu'il connaisse, le binaire. De ce fait, le cours est relativement
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é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étailArchitecture matérielle des systèmes informatiques
Architecture matérielle des systèmes informatiques IDEC, Renens. Version novembre 2003. Avertissement : ce support de cours n est pas destiné à l autoformation et doit impérativement être complété par
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é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étailIFT1215 Introduction aux systèmes informatiques
Introduction aux circuits logiques de base IFT25 Architecture en couches Niveau 5 Niveau 4 Niveau 3 Niveau 2 Niveau Niveau Couche des langages d application Traduction (compilateur) Couche du langage d
Plus en détailChapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
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é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é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étailSTAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
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é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étailI00 Éléments d architecture
I00 I Exemples d ordinateur Pour les informaticiens, différentes machines de la vie courante sont des ordinateurs : par exemple les ordinateurs portables, les ordinateurs fixes, mais aussi les supercalculateurs,
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é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é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é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é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é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étailFascicule u7.05 : Impression de résultat pour visualisation
Titre : Procédure IMPR_RESU (FORMAT 'MED' Date : 06/05/2013 Page : 1/10 Procédure IMPR_RESU (FORMAT 'MED' 1 But Écrire le résultat d un calcul dans un fichier au format MED. On décrit l ensemble des mots
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étailCQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que
CQP 112 Introduc/on à la programma/on Thème 2 : Architecture d un système informa/que Département d informa/que CQP 112 : Introduc/on à la programma/on Plan 1. Historique des ordinateurs 2. Composants
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 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étailCONFIGURATION DE L AUTOMATE SIEMENS
CONFIGURATION DE L AUTOMATE SIEMENS Créer un projet Dans le bureau de Windows, double-cliquer sur l icône «SIMATIC Manager» : Cliquer ensuite sur l icône «nouveau» : Choisir un nom de projet et valider
Plus en détailMICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44
MICROCONTROLEURS PIC PROGRAMMATION EN C V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44 Chapitre 1 GENERALITES 1 DEFINITION Un microcontrôleur est un microprocesseur RISC (Reduced Instruction Set
Plus en détailGUIDE Excel (version débutante) Version 2013
Table des matières GUIDE Excel (version débutante) Version 2013 1. Créer un nouveau document Excel... 3 2. Modifier un document Excel... 3 3. La fenêtre Excel... 4 4. Les rubans... 4 5. Saisir du texte
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é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étailFonctionnement et performance des processeurs
Fonctionnement et performance des processeurs Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan Fonctionnement des processeurs Unités de calcul
Plus en détailOrdinateurs, Structure et Applications
Ordinateurs, Structure et Applications Cours 13, Le DOS Etienne Tremblay Université Laval, Hiver 2011 Cours 13, p.1 Le DOS DOS signifie Disk Operating System Le DOS est un système d exploitation. Il existe
Plus en détailCégep de Saint Laurent Direction des communications et Direction des ressources technologiques. Projet WebCSL : Guide de rédaction web
Cégep de Saint Laurent Direction des communications et Direction des ressources technologiques Projet WebCSL : Laurence Clément, conseillère en communication édimestre Marc Olivier Ouellet, webmestre analyste
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étailAMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE
AMICUS 18 (2ème partie) Dans la première partie, nous avions présenté la platine Amicus 18 et nous avions réalisé quelques montages simples. Nous allons découvrir un peu mieux la programmation. Dans la
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é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étailTable des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
Plus en détailIntroduction à l algorithmique et à la programmation M1102 CM n 3
Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d
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étailMachines virtuelles Cours 1 : Introduction
Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une
Plus en détailET LO GICIEL D UN S YS T EME IN FORMATIQUE
C HAPIT RE 0 : ENVIRONNEMENT MATE RI EL ET LO GICIEL D UN S YS T EME IN FORMATIQUE Objectifs : 1. Présenter l ensemble des ressources physiques et logicielles d un système informatique. 2. Comprendre la
Plus en détail6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure
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é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é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é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étailBase de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)
Base de l'informatique Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Généralité Comment fonctionne un ordinateur? Nous définirons 3 couches Le matériel
Plus en détailIndications pour une progression au CM1 et au CM2
Indications pour une progression au CM1 et au CM2 Objectif 1 Construire et utiliser de nouveaux nombres, plus précis que les entiers naturels pour mesurer les grandeurs continues. Introduction : Découvrir
Plus en détailGlossaire des nombres
Glossaire des nombres Numérisation et sens du nombre (4-6) Imprimeur de la Reine pour l'ontario, 008 Nombre : Objet mathématique qui représente une valeur numérique. Le chiffre est le symbole utilisé pour
Plus en détailProCod. Manuel d utilisation. Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF 11069 DF 08 / 10
Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF 11069 DF 08 / 10 Manuel d utilisation ProCod TWK France 13-15, avenue de Stalingrad 93170 BAGNOLET T. 01 43 62 00 05 F. 01 43 63
Plus en détailComme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:
Travaux Pratiques 3. IFT 1002/IFT 1005. Structure Interne des Ordinateurs. Département d'informatique et de génie logiciel. Université Laval. Hiver 2012. Prof : Bui Minh Duc. Tous les exercices sont indépendants.
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étailInitiation à l algorithmique
Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -
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étailUSTL - 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é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é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étail