Piccolo 3.1.1
Pierre Molinaro
12 août 2015
Table des matières
Table des matières 2
Liste des tableaux 9
Liste des figures 11
1 Pourquoi j’ai écrit Piccolo 12
2 Installation et utilisation 16
2.1 Installation ..................................... 16
2.2 Application Cocoa ................................. 16
2.3 Options de la ligne de commande ........................ 16
2.3.1 Liste des options .............................. 16
2.3.2 Exemple d’utilisation de l’option --memory .............. 22
2.3.3 Exemple d’utilisation de l’option --registers ........... 22
2.3.4 Exemple d’utilisation de l’option --configuration ......... 23
2.4 Micro-contrôleurs supportés ........................... 24
2.4.1 Micro-contrôleurs baseline ........................ 24
2.4.2 Micro-contrôleurs mid-range ....................... 24
2.4.3 Micro-contrôleurs pic18 .......................... 25
3 Éléments lexicaux du langage Piccolo 27
3.1 Commentaires ................................... 27
3.2 Délimiteurs ..................................... 27
3.3 Séparateurs ..................................... 27
3.4 Identificateurs ................................... 28
3.5 Mots réservés .................................... 28
3.5.1 Mots réservés correspondants aux éléments du langage . . . . . . 28
3.5.2 Mots réservés correspondants aux instructions ........... 29
TABLE DES MATIÈRES 3
3.6 Constante chaîne de caractères ......................... 29
3.7 Constante caractère ................................ 29
3.8 Constante entière ................................. 30
3.9 Étiquettes ...................................... 30
3.10 Format ........................................ 31
4 Programmes pour baseline 32
4.1 Structure d’un programme pour baseline ................... 32
4.2 Routines baseline .................................. 32
4.2.1 Routine régulière ............................. 33
4.2.2 Routine sans retour ............................ 36
4.2.3 Routine inutilisée ............................. 38
4.3 Les instructions ................................... 39
4.3.1 Les instructions que vous ne trouverez pas en Piccolo ....... 39
4.4 Les instructions simples ............................. 41
4.4.1 Instructions nommant un registre ................... 41
4.4.2 Instructions nommant un registre, et optionnellement W. . . . . . 41
4.4.3 Opérations d’affectation de bit ...................... 42
4.4.4 Opérations littérales avec W....................... 43
4.4.5 Instructions identiques à celles de l’assembleur ........... 43
4.4.6 Instruction tris .............................. 44
4.4.7 Appeler une routine régulière ...................... 44
4.4.8 Appeler une routine sans retour .................... 45
4.5 Section include .................................. 45
4.6 Gestion des pages de la mémoire programme ................. 45
4.6.1 Instruction jump .............................. 47
4.6.2 Instruction jsr ............................... 47
4.6.3 Déclaration de routine et page ...................... 47
4.6.4 Exemple ................................... 48
4.7 Optimisation .................................... 49
5 Programmes pour mid-range 50
5.1 Structure d’un programme pour mid-range .................. 50
5.2 Routines mid-range ................................ 50
5.2.1 Routine régulière ............................. 52
5.2.2 Routine sans retour ............................ 52
5.2.3 Routine inutilisée ............................. 54
4 TABLE DES MATIÈRES
5.3 Les instructions ................................... 55
5.3.1 Les instructions que vous ne trouverez pas en Piccolo ....... 57
5.4 Les instructions simples ............................. 57
5.4.1 Instructions nommant un registre ................... 57
5.4.2 Instructions nommant un registre, et optionnellement W...... 58
5.4.3 Opérations d’affectation de bit ...................... 58
5.4.4 Opérations littérales avec W....................... 59
5.4.5 Instructions identiques à celles de l’assembleur ........... 60
5.4.6 Appeler une routine régulière ...................... 60
5.4.7 Appeler une routine sans retour .................... 61
5.5 Section include .................................. 61
5.6 Gestion des pages de la mémoire programme ................. 61
5.6.1 Instruction jump .............................. 63
5.6.2 Instruction jsr ............................... 63
5.6.3 Déclaration de routine et page ...................... 63
5.6.4 Exemple ................................... 64
5.7 Routine d’interruption mid-range ........................ 64
5.7.1 Allure générale de la routine d’interruption en assembleur . . . . 65
5.7.2 Routine d’interruption en Piccolo .................... 68
5.7.3 Interruption et sauvegarde du contexte en Piccolo .......... 68
5.8 Optimisations .................................... 73
6 Programmes pour pic18 75
6.1 Exemples de programmes pour pic18 ...................... 75
6.1.1 Premier exemple : blink led ....................... 75
6.1.2 Deuxième exemple : blink led sous interruption ........... 80
6.2 Structure d’un programme pour pic18 ..................... 83
6.3 Routines pic18 ................................... 83
6.3.1 Routine régulière ............................. 85
6.3.2 Routine sans retour ............................ 85
6.3.3 Routine inutilisée ............................. 87
6.3.4 Routine inline .............................. 88
6.4 Routines d’interruption .............................. 91
6.4.1 Qualificatif fast .............................. 92
6.4.2 Routine d’interruption et BSR ...................... 92
6.5 Les instructions ................................... 93
TABLE DES MATIÈRES 5
6.5.1 Liste des instructions simples ...................... 93
6.5.2 Liste des instructions composées .................... 93
6.5.3 Les instructions que vous ne trouverez pas en Piccolo ....... 95
6.6 Les instructions simples ............................. 97
6.6.1 Instructions nommant un registre ................... 97
6.6.2 Instructions nommant un registre, et optionnellement W. . . . . . 97
6.6.3 Opérations d’affectation de bit ...................... 98
6.6.4 Opérations littérales avec WREG .....................100
6.6.5 Instructions identiques à celles de l’assembleur ...........100
6.6.6 Instruction fnop ..............................100
6.6.7 Instruction lfsr ..............................101
6.6.8 Instruction movff .............................101
6.6.9 Appeler une routine régulière ......................102
6.6.10 Appeler une routine sans retour ....................102
6.7 Section include ..................................103
6.8 Section data ....................................104
6.9 Instructions pic18 .................................105
6.9.1 Instruction ltblptr ...........................105
6.9.2 Instruction ldataptr ...........................106
7 Instructions structurées 108
7.1 Instruction mnop ..................................109
7.2 Instruction nopbra .................................109
7.3 Instruction conditionnelle simple ........................110
7.4 Instruction conditionnelle structurée ......................110
7.5 Instruction switch .................................113
7.5.1 Citer plusieurs constantes dans une branche case .........114
7.5.2 Citer un intervalle dans une branche case ..............115
7.6 Instruction de répétition infinie .........................115
7.7 Instruction de répétition statique ........................116
7.8 Instruction répétitive ...............................118
7.9 Forme générale des conditions ..........................120
7.9.1 Conditions élémentaires pour baseline et mid-range ........121
7.9.2 Conditions élémentaires pour pic18 ..................121
7.10 Instructions computed ..............................123
7.10.1 Instruction computed retlw ......................123
1 / 169 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !