6800
PROGRAMMATION EN LANGAGE
ASEMBLEUR
RESUME
Ce livre constitue un cours complet de programmation, en langage
assembleur, du microprocesseur 6800. Chacune des instructions est
présentée séparément et commentée dans tous ses détails. De nombreux
programmes digés à la fois en assembleur et en langage machine,
développent les applications.
Extrait de la table des matières : Introduction au langage de
programmation en assembleur. Les assembleurs. Le jeu d'instructions du
6800 en langage assembleur Programmes simples. Programmes simples
avec boucles. Le codage des caractères. Conversion de codes.
Problèmes arithmétiques. Tables et listes. Sous programmes . Entrées-
sorties. Interruptions. Définition des problèmes et conception des
programmes. bugage et test. Documentation et reconception.
Exemples de projets.
TABLE DES MATIERES
Chapitre 1 Introduction au langage de programmation en assembleur 5
Signification des instructions 5
Un programme informatique 5
Le problème de la programmation 6
Utilisation de l'octal ou de l'hexadécimal 7
Mnémoniques des codes d'instructions 9
Le programme assembleur 9
Caractéristiques additionnelles des assembleurs 10
Inconvénients du langage assembleur 11
Langages haut niveau 12
Avantages des langages haut niveau 13
Inconvénients des langages haut niveau 13
Langages haut niveau pour microprocesseurs 15
Quel niveau devriez-vous utiliser ? 16
Et pour le futur ? 17
Pourquoi ce livre ? 18
Chapitre 2 Les assembleurs 19
Instructions de l'assembleur 19
Labels 21
Mnémoniques de l'assembleur 23
Pseudo-opérations 23
Pseudo-orations sur dones 24
Pseudo-opérations équate (ou définie) 25
Pseudo-opération origine 26
Pseudo-opération réserve 27
Pseudo-opérations d'intendance 29
Labels avec pseudo-opérations 29
Champs opérandes et adresses 29
Assemblages conditionnels 31
Macros 32
Macros 32
Commentaires 33
Types d'assembleurs 34
Erreurs 36
Chargeurs 36
Chapitre 3 Le jeu d'instruction du 6800 en langage assembleur 38
Les registres de l'UCT et les indicateurs 38
Mode d'adressagemoire du 6800 42
Modemoire, immédiat 43
Modemoire, direct 44
Mode mémoire, indexé 45
Mode mémoire, étendu 47
Mode inrent 48
Mode relatif 48
Accumulateur 48
Abréviations 49
Codes objets des instructions 51
Temps d'exécution des instructions et codes 51
ABA - Addition de l'accumulateur B à l'accumulateur A 62
ADC - Addition de lamoire, avec retenue, à l'accumulateur A ou B 62
ADD - Addition de lamoire à l'accumulateur 66
AND - ET, logique de lamoire avec l'accumulateur 67
ASL - Décalage à gauche de l'octet mémoire ou accumulateur 68
ASR - Décalage à droite de l'octet accumulateur ou mémoire 70
BCC - Brancher si carry = 0 72
BCS - Brancher si carry = 1 72
BEQ - Brancher si égal 72
BOE - Brancher si plus grand ou égal àro 73
BOl - Brancher si plus grand quero 73
BHI - Brancher si plus grand 74
BIT - Test de bit 74
BLE - Brancher si plus petit ou égal àro 75
BLS - Brancher si plus petit ou égal 76
BL T - Brancher si moins que zéro 77
BMI - Brancher si négatif 77
BNE - Brancher si non égal 77
BPL - Brancher si positif 78
BRA - Brancher à l'instruction identife par l'opérande 78
BSR - Brancher au sous-programme identif par l'opérande 79
BVC - Brancher si pas de dépassement 80
BVS - Brancher si dépassement 81
CBA - Comparer les accumulateurs 81
CLC - Mise à zéro du carry 82
CLI - Mise àro du masque d'interruptions 82
CLR - Mise à zéro accumulateur oumoire 83
CL V - Mise àro du dépassement 84
CMP - Comparer accumulateur et mémoire 85
CaM - Compmenter l'accumulateur ou lamoire 86
CPX - Comparer l'index 87
DAA - Ajustagecimal de l'accumulateur 89
DEC - Décrémenter l'accumulateur ou lamoire 89
DES - Décrémenter le pointeur de pile 92
DEX - Décrémenter le registre index 92
EOR - OU exclusif entre accumulateur et mémoire 93
INC - Incrémentation accumulateur ou mémoire 94
INS - Incrémenter le pointeur de pile 95
INX - Incrémentation du registre d'index 96
JMP - Saut en adressage inde ou étendu 96
JSR - Saut à sous-programme en adressage inde ou étendu 98
LDA - Charger l'accumulateur à partir de lamoire 99
LDS - Charger le pointeur de pile 100
LDX - Charger le registre d'index 101
LSR - Décalage logique à droite accumulateur oumoire 102
NEG - Compmenter à deux accumulateurs oumoire 104
NOP - NON opération 106
ORA - OU logique entre accumulateur et mémoire 106
PSH - Sauvegarder l'accumulateur dans la pile 108
PUL - Extraire les données de la pile 109
ROL - Rotation accumulateur oumoire à gauche via le carry 110
RTl - Retour d'interruption 113
TRS - Retour de sous-programme 115
SBA - Soustraction entre accumulateur 115
SBC - Soustraction entre accumulateur et mémoire avec retenue 116
SEC - Mise à 1 du carry 117
SEC - Mise à 1 du carry 117
SEI - Mise à 1 du masque d'interruption 118
SEV - Mise à 1 du dépassement 118
STA - Ranger l'accumulateur enmoire 119
STS - Ranger le pointeur de pile 120
STX - Ranger l'index 121
SUB - Soustraction mémoire de l'accumulateur 122
SWI - Interruption logicielle 123
TAB - Transfert de l'accumulateur A à l'accumulateur B 124
TAP - Transfert de l'accumulateur A au CRR 125
TBA - Transfert de l'accumulateur B à l'accumulateur A 125
TPA - Transfert du CRR à l'accumulateur A 126
TST - Test de l'accumulateur ou de lamoire 127
TSX - Transfert du pointeur de pile à l'index 129
TXS - Transfert de l'index vers le pointeur de pile 129
WAI - Attente d'interruption 130
Convention de l'assembleur 6800 Motorola 131
Structure des champs de l'assembleur 131
Pseudo-opérations 131
Labels et pseudo-orations 133
Adresses 133
Autres caractéristiques de l'assembleur 134
Chapitre 4 Programmes simples 135
Format général des exemples 135
Exemples de programmes 137
Probmes 146
Chapitre 5 Programmes simples avec boucles 150
Exemples 152
Probmes 163
Chapitre 6 Le codage des caracres 166
Exemples 167
Probmes 180
Chapitre 7 Conversion de codes 183
Exemples 183
Probmes 192
Chapitre 8 Probmes arithtiques 195
Exemples 195
Probmes 214
Chapitre 9 Tables et listes 218
Exemples 218
Probmes 230
Chapitre 10 Sous-Programmes 234
Documentation des sous-programmes 236
Exemples 236
Probmes 251
Chapitre 11 Entrées-sorties 255
Programmes de temporisation 263
Exemples 263
L'interface d'adaptation de périphériques 6820 (PIA) 266
Registre de contrôle du PIA 269
Configuration du PIA 272
Exemples de configurations du PIA 273
Utilisation du PIA pour transférer des données 275
Exemples 276
Programmes en assembleur 285
Probmes 301
Dispositifs d'entrée/sortie plus complexes 303
Exemples 305
Interfaces standards 332
Probmes 333
Références 335
Chapitre 12 Interruptions 337
Le système d'interruptions du 6800 338
Exemples 343
Services d'interruptions plus généraux 360
Probmes 361
Chapitre 13 finition des problèmes et conception des programmes 362
Fonction du logiciel de développement 362
Définition des probmes 365
Définition des entrées 365
Définition des sorties 365
Section de traitement 366
Traitement des erreurs 366
Facteurs humains 367
Exemples 368
Résu des probmes de définitions 376
Conception du programme 377
Les organigrammes 378
Exemples 379
Programmation modulaire 386
Exemples 387
Résumé de la programmation modulaire 389
Programmation structue 390
Exemples 394
Résu de la programmation structurée 401
Conception descendante 402
Exemples 403
Résumé de la conception descendante 406
Résumé de la définition des problèmes et de la conception des programmes 408
Chapitre 14 Débugage et test 409
Outils simples de débugage 409
Outils de débrayage plus évolués 414
Recherche des erreurs 418
Introduction au test 430
lection des données de test 431
Précautions lors des tests 433
Conclusions 433
Chapitre 15 Documentation et reconception 435
Programmes auto-documentés 435
Commentaires 436
Organigramme documentaire 440
Programmation structurée documentaire 440
Cartes de lamoire 440
Listes de paratres et definitions 442
Bibliothèques de programmes 443
Exemple de fiches de programmes 444
Synthèse de la documentation 446
Reconception 447
Réorganisation pour consommer moins demoire 447
Réorganisations majeures 449
Chapitre 16 Exemples de projets 451
Projet n°1 un minuteur 451
Projet n°2 un thermotre nurique 458
Références 474
TOP
1 / 4 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 !