Aide Mémoire du Programmeur - Cortex M3
|
|
- Madeleine Lecours
- il y a 7 ans
- Total affichages :
Transcription
1 Aide Mémoire du Programmeur - Cortex M3 J.L. Noullet - INSA Toulouse - révision 1.3 Le STM32 est une implémentation du Cortex M3, qui exécute un sous-ensemble du jeu d'instructions ARMv7-M ("M" pour "Microcontrôleur"). Ce jeu d'instruction utilise le codage Thumb-2, contenant le jeu simplifié Thumb codé sur 16 bits, et un ensemble de codes complémentaire sur 32 bits. 1. Mnémoniques classés par catégories Les instructions soulignées acceptent le suffixe S pour mise à jour des flags (NZCV). Copie de données (32 bits) MOV de registre à registre ou immédiat vers registre LDR, STR Load (RAM vers registre), Store (registre vers RAM) LDM, STM Load et Store multiples (liste de registres), indirects PUSH, POP cas particuliers de STM et LDM Copie et manipulation de byte (8 bits) et half-word (16 bits) LDR, STR avec suffixes B, H, SB, SH MOVT T=Top, affecte seulement les 16 MSBs REV permutation de bytes SXT, UXT extension à 32 bits signée ou non-signée (suff. B et H) Manipulation de bits BFC, BFI, SBFX, UBFX bit fields (Clear, Insert, Extract) CLZ, RBIT comptage des zéros en tête, permutation de bits Arithmétique Logique ADD, ADC C=Carry (inclusion dans la somme) SUB, SBC, RSB C=Carry, R=reverse ( Rm-Rn au lieu de Rn-Rm ) MUL, MLA, MLS résultat modulo 2^32 (débordement possible), A=Accumulation UMULL, UMLAL résultat 64 bits (débordement impossible), A=Accumulation SMULL, SMLAL résultat 64 bits (débordement impossible), A=Accumulation SDIV, UDIV SSAT, USAT saturation taille arbitraire < 32 bits AND, BIC BIC = AND NOT ORR, ORN ORN = OR NOT EOR XOR MVN NOT Décalages LSL, LSR, ASR, ROR décalage constant ou variable, de 1 à 31 positions RRX rotation de 1 position via le flag C Tests sur data TST, TEQ comme ANDS et EORS mais resultat non conservé (pas de Rd) CMP, CMN comme SUBS et ADDS mais resultat non conservé (pas de Rd) CBZ, CBNZ Comparaison registre avec zéro puis branch Sauts "Branch" Divers B, BX X=Indirect BL, BLX L=Link (sauvegarde PC dans LR) CBZ, CBNZ Comparaison registre avec zéro puis branch TBB, TBH Table Branch : branchement indirect par table d'adresses NOP IT If-Then SVC interruption soft MSR, MRS accés au registre des flags WFE, WFI mise en veille ADR file:///f:/memo_cm3.html 1/6
2 2. Syntaxe de codage des instructions 2.1 Suffixes des mnémoniques (à coller sans espace) : taille du transfer : B, H, D pour 8 bits (Byte), 16 bits (Half-word), 64 bits (Double-word) (Attention : conflit avec la notation Microsoft utilisée par Keil : WORD = 16 bits, DWORD = 32 bits) SB, SH pour les extensions de signe à 32 bits, 16 pour opération effectuée en parallèle sur les deux moitiés d'un mot de 32 bits mise a jour optionnelle des flags : S incrémentation ou décrémentation pour les Load et Store Multiples LDM et STM : IA : Increment After DB : Decrement Before codes de condition sur 2 caractères (voir 2.8 traitements conditionnels) :. EQ Z = 1 Equal NE Z = 0 Not equal HI C = 1 and Z = 0 Higher unsigned CS or HS C = 1 Higher or same unsigned LS C = 0 or Z = 1 Lower or same unsigned CC or LO C = 0 Lower unsigned MI N = 1 Negative signed PL N = 0 Positive or zero signed VS V = 1 Overflow signed VC V = 0 No overflow signed GT Z = 0 and N = V Greater than signed GE N = V Greater than or equal signed LE Z = 1 or N!= V Less than or equal signed LT N!= V Less than signed forçage de taille pour le codage instruction.w : forcer 32 bits "Wide" (si disponible).n : forcer 16 bits "Narrow" (si possible) 2.2 Registre destination Le premier registre de la liste va recevoir le résultat, SAUF dans le cas STR (Store). Ce cas particulier est dû à un codage homogène pour LDR et STR : LDR r0, [r1, #4] ; Load : registre <-- mémoire STR r0, [r1, #4] ; Store : registre --> mémoire La seconde instruction fait l'opération inverse de la première. 2.3 Forme simplifiée 2 opérandes au lieu de 3 De nombreuses instructions prennent 2 opérandes sources et 1 opérande destination : ADD Rd, Rn, Rm ; Rd = Rn + Rm Si on donne seulement 2 opérandes : ADD Rd, Rm ; Rd = Rd + Rm soit Rd += Rm l'assembleur met Rd à la position de Rn : ADD Rd, Rd, Rm ; Rd += Rm file:///f:/memo_cm3.html 2/6
3 2.4 Modes d'adressage immediat ou littéral constante ou expression constante (signe '#') MOV r0, #0x4F ; hexa MOV r1, #112 ; decimal MOV r2, #(12*3+5) ; expression calculee pendant l'assemblage Attention aux limitations dues au codage sur 12 bits (soit une constante 8 bits décalée ou dupliquée). Il existe une variante "Wide" acceptant une constante de 16 bits : MOVW r3, #0x8001 ; (l'assembleur sait remplacer MOV par MOVW si nécessaire) constante de 32 bits en 2 opérations MOVW r0, #0x2013 ; 0x dans r0 (imm16) MOVT r0, #0x1963 ; 0x dans r0 (imm16) macro LDR et litteral pool (signe '=') LDR r0, =0x En fonction de la valeur de la constante, l'assembleur va remplacer cette pseudo-instruction (macro) par un MOV, un MOVW, ou un LDR avec adressage relatif-pc pour chercher la constante dans le litteral pool. Le litteral pool est une zone de données constantes que l'assembleur peut créer automatiquement dans la section courante, pour faciliter l'introduction de constantes 2.5 Modes d'adressage registre Simple : MOV r0, r1 ; copie de r1 dans r0 avec décalage ou rotation du registre source : MOV r0, r1, LSL #4 ; copie de r1, décalé de 4 bits a gauche, dans r0 MOV r0, r1, LSR r5 ; copie de r1, décalé de r5 bits a droite, dans r0 MOV r0, r1, RRX ; copie de r1, avec rotation a droite de 1 bit, dans r0 LSL Logic Shift Left LSR Logic Shift Right (unsigned) ASR Arithmetic Shift Right (sign extension) ROR Rotate Right over 32 bits RRX Rotate Right 1 place over 33 bits (C flag included) Note : on pourrait donc se passer des instructions LSL, LSR, ASR, ROR, RRX Rappel : les décalages permettent de faire des multiplications et divisions par les puissances de 2 très efficacement. 2.6 Modes d'adressage mémoire 1 registre LDR r1, [r7] ; les crochets '[' et ']' signalent l'indirection 2 registres ("pre-indexed"), le second (index) peut être décalé à gauche LDR r1, [r6, r7] ; adresse = r6 + r7, par exemple base + index LDR r1, [r6, r7, LSL #2] ; adresse = r6 + r7 * 4 LDR r1, [r6, r7]! ; le '!' signale mise a jour de r6 = r6 + r7 Note : dans le 3eme cas, r7 est un incrément plutôt qu'un index, c'est pour parcourir un tableau séquentiellement. 1 registre + 1 constante (déplacement ou offset signé) LDR r1, [r6, #120] ; acces à un membre d'une structure ou objet C++ LDR r1, [r6, #4]! ; pré-indexation, le '!' signale mise a jour de r6 = r6 + 4 LDR r1, [r6], #4 ; post-indexation, adresse = r6, puis r6 = r6 + 4 Note : dans le 2eme et le 3eme cas, la constante est un decrément plutôt qu'un index, c'est pour parcourir un tableau séquentiellement: r1 = *(++r6) r1 = *(r6++) // comme on l'écrirait en C file:///f:/memo_cm3.html 3/6
4 application particulière : adressage relatif-pc pour une donnée en ROM Dans le cas d'un code relogeable, ni l'adresse associée à un label ni celle de l'instruction courante ne sont connues au moment de l'assemblage, mais la différence l'est, l'assembleur peut donc calculer un déplacement à additionner au contenu du registre PC pour accéder à la donnée : labul dcd 0x LDR r0, labul ; copie dans r0 la variable labul stockée en ROM Le code produit sera équivalent à : LDR r0, [PC, #(labul-.-k)] ;. = adresse instr. courante, K = constante (2 ou 4) La valeur de K dépend de l'alignement. Cette technique est utilisée pour le litteral pool (macro LDR avec sign '=', voir ci-dessus) Load/Store Multiples (par dérogation au style RISC) Attention : la syntaxe de ces instructions n'est pas cohérente avec le reste du jeu d'instructions. LDM r7, {r0, r1, r2, r4} ; charger les registres de la liste avec les valeurs lues en mémoire, à partir de l'adresse de base donnée par r7 LDM r7!, {r0, r1, r2, r4} ; idem, puis mettre a jour r7 STM r7, {r0, r1, r2, r4} ; stocker le contenu des registres de la liste en mémoire, à partir de l'adresse de base donnée par r7 STM r7!, {r0, r1, r2, r4} ; idem, puis mettre a jour r7 Ces instructions acceptent les suffixes DB (Decrement Before) et IA (Increment After), qui est le choix par défaut. La liste de registres entres accolades '{' et '}' peut contenir 1 à 15 registres (tous sauf SP). Attention : l'ordre des registres stockés ou lus en mémoire par une instruction multiple est toujours tel que les adresses mémoire croissent dans le sens des indices des registres (c'est indépendant de l'ordre des éléments de la liste, qui est ignoré). Push et Pop L'empilage (Push) et le dépilage (Pop) sont des applications de Store Multiple et Load Multiple avec SP et '!' PUSH {r1, r2} ; empiler r1 et r2 (r2 en premier, c'est a dire à l'adresse max) STMDB SP!, {r1, r2} ; idem, DB choisi pour "full descending stack" POP {r1, r2} ; dépiler r1 et r2 (r2 en dernier, c'est a dire de l'adresse max) LDM SP!, {r1, r2} ; idem, IA choisi pour "full descending stack" Le dépilage de PC est équivalent à un saut indirect utilisant une valeur prise dans la pile, ce qui peut tenir lieu de retour de sous-programme à condition d'avoir empilé LR en début de sous-programme. On peut en profiter pour empiler quelques registres : PUSH {r4, r5, r6, LR} ; au début du sous-programme POP {r4, r5, r6, PC} ; retour du sous-programme 2.7 Instruction de saut : "Branch" Notes : B unlabel ; un saut direct (codé en relatif) Bcc unlabel ; saut conditionnel, cc est une condition parmi les 14 possibles (voir suffixes ci-dessus) BL unlabel ; appel de sous programme (adresse retour copiée dans LR) BX r3 ; saut indirect par registre (par exemple r3) BX LR ; retour de sous programme simple BLX r3 ; appel de sous programme indirect par registre (adr retour dans LR) Historiquement, le X est pour "exchange" car BX et BLX permettent de changer de jeu d'instruction. En Thumb-2 il n'est pas question de cela, on peut considérer que le X signifie simplement indirect par registre. Contrairement à la majorité des autres architectures, l'arm n'a pas d'intruction de retour de sous programme, le retour se fait avec BX LR si l'adresse de retour est dans LR, ou POP {PC] si elle est dans le pile. Contrairement à la majorité des autres architectures, l'arm n'a pas d'intruction de retour d'interruption, le retour d'interruption se fait comme un retour de sous-programme ordinaire, c'est dans l'adresse de retour qu'il y a un code spécifique pour appliquer le traitement approprié aux interruptions. file:///f:/memo_cm3.html 4/6
5 2.8 Traitements conditionnels Dans le jeu d'instructions ARM 32 bits, presque toutes les instructions peuvent être conditionnelles (ce qui encombre 4 bits dans l'encodage des instruction). Pour rendre le code plus compact, en Thumb-2 il n'y a que l'instruction B (Branch) qui contienne l'encodage d'une condition parmi les 14 possibles (voir suffixes ci-dessus). Cela couvre déjà la majorité des besoins en matière de traitement conditionnel. Pour compenser cette restriction, l'instruction spéciale IT (If-Then) a été ajoutée, elle permet de rendre conditionnelles 1 à 4 instructions consécutives : le nombre de lettres après le I détermine le nombre d'instructions concernées les lettres permises sont T (Then) et E (Else), la première est toujours T l'instruction IT prend comme argument 1 code condition parmi les 14 possibles chaque instruction associée à un T sera exécutée si la condition est vraie chaque instruction associée à un E sera exécutée si la condition n'est pas vraie Pour que le langage d'assemblage reste compatible avec le jeu d'instructions ARM classique, on applique les règles suivantes : L'assembleur génère l'instruction IT lui-même, on peut l'omettre du code source Chaque instruction du bloc IT est doit être munie d'un suffixe indiquant la condition qui doit lui être appliquée Exemple : ajouter a r0 la valeur absolue de r1 : MOVS ADDPL SUBMI r1, r1 r0, r1 r0, r1 ; l'assembleur insérera automatiquement l'instruction ITE PL Indépendamment de cela il existe 2 instructions combinées effectuant comparaison à zéro et branch, celles-ci ne supportent que 2 conditions : CBZ : compare register with zero, branch if zero CBNZ : compare register with zero, branch if not zero 3. Conventions d'appel de procédures et fonctions 3.1 Empilage différé (ARM) L'architecture ARM préconise un registre dédié (LR pour Link Register) pour l'adresse de retour. A charge pour la fonction appelée d'empiler la valeur de ce registre si elle même doit en appeler une autre. Le gain d'efficacité concerne seulement les fonctions "feuilles" (leaf subroutines), c'est à dire celles qui n'en appellent aucune autre). Exemples de code : appel de fonction (dans tous les cas) corps de la fonction fonction "feuille" fonction quelconque BL myfunction ; branch-and-link, update LR BX LR ; indirect jump to [LR] PUSH {LR} ; empiler l'adresse de retour BL myfunction2 POP {PC} ; dépiler directement dans PC Note : chez ARM, le bit de faible poids de PC n'est pas utilisé pour accéder aux instructions (dont les adresses sont obligatoirement paires) mais il sert à signaler l'utilisation du jeu d'instructions Thumb ou Thumb-2 (Cortex M3). file:///f:/memo_cm3.html 5/6
6 3.2 Arguments et registres Résumé très simplifié de l'aapcs (ARM Architecture Procedure Call Standard) : arguments : les premiers sont passés dans R0 à R3, les suivants dans la pile si nécessaire (les arguments de 64 bits peuvent être passés dans 2 registres consécutifs) valeur de retour : elle est passée dans R0 (ou R0 et R1 si 64 bits) registres dont le contenu doit être préservé : R4 à R11, SP et LR Par conséquent, dans le corps d'une fonction : R0 à R3 et R12 peuvent être utilisés librement comme stockage temporaire entre les appels de fonctions, par contre leur contenu rsique d'être altéré par les fonctions appelées, R4 à R11 peuvent être utilisés comme stockage temporaire à condition de les sauvegarder (push) pour les restituer (pop) avant le retour, LR doit être sauvegardé si la fonction doit en appeler une autre, SP doit être restitué dans son état initial, en particulier tout ce qui a été empilé doit être dépilé avant le retour. 4. Directives d'assemblage RealView (Keil) Entête thumb Commentaire ; fin de ligne as (GNU).syntax unified.arch armv7-m.cpu cortex-m3.thumb ;@ fin de ligne /* ou comme en C */ Inclusion de fichier include myfile.include myfile Sections area moncode,code,readonly.text area mesdata,data,readonly.section area maram,data,readwrite.section Alignement align.align Création label monlabel monlabel: Création constante maconst equ 0x1234 maconst = 0x1234 Donnée initialisée dcd 0x1234abcd.long 0x1234abcd dcw 0x1234.short 0x1234 dcb 0x12.byte 0x12 Export export myfunc.global myfunc Import Procédure (pour le debugger) extern hisfunc import hisfunc myfunc proc.func myfunc endp Fin end.end Attention : avec l'assembleur GNU as : les directives commencent par un point '.' les labels doivent avoir un ':' à l'endroit de leur création, mais pas lorsqu'on y fait référence. file:///f:/memo_cm3.html 6/6
Rappels 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é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é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é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é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é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é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é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é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é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é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é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
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é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é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é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é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é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é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é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é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é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étailPlan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.
Plan global Outils de développement et compilation Git : gestion de code source et versionnement Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 1 Historique 2 Git 3 Pour
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é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étailBibliothèque des sciences humaines. Guide d utilisation de la banque : TSX-CFMRC Summary Information Database
Bibliothèque des sciences humaines Guide d utilisation de la banque : TSX-CFMRC Summary Information Database Août 2005 Table des matières A- Description de la banque... 3 B- Accéder à la banque... 3 C-
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étailStructures algébriques
Structures algébriques 1. Lois de composition s Soit E un ensemble. Une loi de composition interne sur E est une application de E E dans E. Soient E et F deux ensembles. Une loi de composition externe
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é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é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é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é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é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é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é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é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é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é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é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é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étailLa Clé informatique. Formation Excel XP Aide-mémoire
La Clé informatique Formation Excel XP Aide-mémoire Septembre 2005 Table des matières Qu est-ce que le logiciel Microsoft Excel?... 3 Classeur... 4 Cellule... 5 Barre d outil dans Excel...6 Fonctions habituelles
Plus en détailCentre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :
Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de
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é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étailWindows 8 Installation et configuration
Editions ENI Windows 8 Installation et configuration Collection Ressources Informatiques Extrait 112 Windows 8 Installation et configuration Pour terminer l'application de l'image, nous devons configurer
Plus en détail1. Structure d'un programme FORTRAN 95
FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)
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é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étailSparkInData. Place de Marché des applications Spatiales 09-04-2015
SparkInData Place de Marché des applications Spatiales 09-04-2015 SparkInData / Concept Place de marché Plateforme fédérative Haute valeur ajoutée Acteurs reconnus Consortium homogène Architecture Big
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étailTechniques de stockage. Techniques de stockage, P. Rigaux p.1/43
Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation
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étailEnvironnements informatiques
Environnements informatiques Premiers pas sous Linux (seconde partie) 26 septembre 2008 blansche@dpt-info.u-strasbg.fr 1 /12 Administration sous Linux 2 /12 Démarrage Démarrage de Linux Niveaux de démarrage
Plus en détailCRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING
CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING Durée : 3J / 21H Formateur : Consultant expert en PAO et Web-marketing. Groupe de : 4 max Formation au web marketing Objectifs : Mettre en oeuvre des
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étailBusiness & High Technology
UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 8 : ID : Informatique Décisionnelle BI : Business Intelligence Sommaire Introduction...
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é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étailÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700
ÉCOLE POLYTECHNIQUE DE MONTRÉAL Département de Génie Électrique La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700 M. Corinthios et Zaher Dannawi 29 août 2007 2 Tables des
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é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étailENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque
1 ENDNOTE X2 SOMMAIRE 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque 2. Manipuler une bibliothèque EndNote 2.1. La saisie
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étailIFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL
IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL Un bus de services Un bus de services (ESB) permet d assembler des web services existants, le résultat de cet
Plus en détailossier rchitecture echnique
ossier rchitecture echnique Historique du document Version Date Objet Auteur 1.0 Création du document Philippe Boidart Créé le 08/11/2006 Page 2 sur 27 SOMMAIRE 1. PRESENTATION GENERALE... 5 1.1 OBJET...
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é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étailELP 304 : Électronique Numérique. Cours 1 Introduction
ELP 304 : Électronique Numérique Cours 1 Introduction Catherine Douillard Dépt Électronique Les systèmes numériques : généralités (I) En électronique numérique, le codage des informations utilise deux
Plus en détailPrésentation du PL/SQL
I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur
Plus en détailRappel sur les bases de données
Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant
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étailPartie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com
Partie 1 Professeur : Haouati Abdelali CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie I : Généralités et algorithmique de base 1. Environnement matériel et logiciel
Plus en détaillundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public
Communautés Numériques L informatique à la portée du Grand Public Initiation et perfectionnement à l utilisation de la micro-informatique Microsoft Document Connection pour Mac. Microsoft Document Connection
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é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é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étailParcours FOAD Formation EXCEL 2010
Parcours FOAD Formation EXCEL 2010 PLATE-FORME E-LEARNING DELTA ANNEE SCOLAIRE 2013/2014 Pôle national de compétences FOAD Formation Ouverte et A Distance https://foad.orion.education.fr Livret de formation
Plus en détailPlan de cette matinée
Plan de cette matinée Windows 2008 Les différentes versions Migration Rôles et fonctionnalités Présentation des nouveautés Windows 2008 R2 Les apports de cette nouvelle version Windows 7 Les différentes
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étail4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
Plus en détailLinux embarqué: une alternative à Windows CE?
embarqué: une alternative à Windows CE? : une alternative à Windows CE Présentation Mangrove Systems Distribution embarqué Perspective WinCe / Questions Mangrove systems Créé en 2001 Soutien Soutien Ministère
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é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é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étailCATALOGUE DES FORMATIONS
CATALOGUE DES FORMATIONS COURS THEMATIQUES MIGRATION À WINDOWS 10... 1 WORD: LES TABLEAUX... 2 WORD: MODÈLES ET FORMULAIRES... 3 WORD: PUBLIPOSTAGE... 4 WORD: LES LONGS DOCUMENTS... 5 WORD: PUBLICATION...
Plus en détailMANUEL D UTILISATION TERMINAL PHL 2700
MANUEL D UTILISATION TERMINAL PHL 2700 XL Soft - 16 Bd Charles de Gaulle Parc d'affaires les Moulinets- Bât C 44800 SAINT HERBLAIN Tel.: 02 51 80 77 88 Fax: 02 51 80 77 87 www.xlsoft.fr SOMMAIRE 1) Présentation
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étailTeamConnect. SL TeamConnect CU1, Unité centrale SL TeamConnect CB1, Combox CARACTÉRISTIQUES
TeamConnect SL TeamConnect CU1, Unité centrale SL TeamConnect CB1, Combox CARACTÉRISTIQUES 8 Connectivité par ligne téléphonique terrestre et PC/Voix sur IP (VoiP) pour téléconférence via téléphone et
Plus en détailUn ordinateur, c est quoi?
B-A.BA Un ordinateur, c est quoi? Un ordinateur, c est quoi? Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits
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étailPlan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml
OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire
Plus en détailInitiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
Plus en détailFONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE
I/ GÉNÉRALITÉS I.1/ Fonction Un compteur binaire est utilisé : -pour compter un certain nombre d'évènements binaires -pour diviser la fréquence d'un signal logique par 2 m Page 1 FONCTION COMPTAGE BINAIRE
Plus en détailPharmed. gestion de pharmacie hospitalière. Installation / déploiement
Pharmed gestion de pharmacie hospitalière Installation / déploiement Version 1.0 du 23/05/2006 Date Auteur Version Modification 23/05/06 Pierre CARLIER 1.0 14/06/06 Matthieu Laborie Table des matières
Plus en détail