B y : L o r d N o t e w o r t h y / F A T A s s e m b l e r T e a m Page 2
Table des matières
Introduction……………………………………………………………………………………………………..6
Assembleur, philosophie et atouts …………………………………………………………….8
Avantages et inconvénients de l’assembleur……………………………………………….9
Que programmer en Assembleur ? ………………………………………………………….10
Chapitre 1 : Notions de base………………………………………………………………………...…….10
Les systèmes de numération…………………………………………………………………...10
Décimale………………………………………………………………………………11
Binaire…………………………………………………………………………………..11
Octal……………………………………………………………………………………13
Hexadécimale………………………………………………………………………..13
Les conversions entre bases numérales……………………………………………………..14
Décimale Binaire………………………………………………………………….14
Binaire Décimale…………………………………………………………………16
Binaire Hexadécimale…………………………………………………………..16
Hexadécimale Binaire ………………………… ;………………………………17
Y’a t’ils des nombres négatifs en binaire ?……………………………………...17
Opérations Arithmétiques ……………………………………………………………………...19
L’addition……………………………………………………………………………...19
La soustraction………………………………………………………………………..20
Astuce………………………………………………………………………………….20
Chapitre 2 : Organisation de l'Ordinateur……………………………………………………………….21
Un microprocesseur, en deux mots………………………………………..…………………22
Historique………………………………………………………………….……………………….22
Notations…………………………………………………………………………………………...25
B y : L o r d N o t e w o r t h y / F A T A s s e m b l e r T e a m Page 3
Le mode de fonctionnement des x86………………………………………………..……….26
Organisation interne du microprocesseur…………………………………………………...27
Registres généraux……………………………………………………………………………….29
Registres de segments…………………………………………………………………………...31
Registres d’offset………………………………………………………………………………….31
Registre de flag……………………………………………………………………………………32
La pile……………………………………………………………………………………………….33
La mémoire………………………………………………………………………………………...34
La pagination mémoire……………………………………………………………………........34
Organisation de la mémoire……………………………………………………………………35
Chapitre 3 : Instruction du microprocesseur……………………………………………………………37
Anatomie d’un programme en assembleur…………………………………………………..37
Structure des instructions…………………………………………………………………………..37
Étiquette…………………………………………………………………………………….38
Mnémonique………………………………………………………………………………38
Opérandes…………………………………………………………………………………38
Ecrire des commentaires dans le programme………………………………………………..39
Lisibilité et présentation……………………………………………………………………………39
Notes et abréviations………………………………………………………………………………40
Opérandes…………………………………………………………………………………………...41
Liste des instructions par fonctionnalités……………………………………………………….41
Instructions de déplacement et d’affectation………………………………..…….42
Instructions logiques et arithmétiques…………………………………………………42
Instructions de manipulation de bits………………………………………………..…42
Instructions de décalage………………………………………………………………..43
Instructions de traitement………………………………………………………………..43
B y : L o r d N o t e w o r t h y / F A T A s s e m b l e r T e a m Page 4
Instructions de contrôle et de test……………………………………………………..43
Saut inconditionnel……………………………………………………………...43
Saut conditionnel……………………………………………………………..…44
Chapitre 4 : Les outils nécessaires au programmeur………………………………………………….46
Bon, de quoi d'autre a-t-on besoin ? …………………………………………………………..47
Installation de Masm……………………………………………………………………………….51
Configuration de RadAsm………………………………………………………………………...53
Créer son premier projet…………………………………………………………………………..57
Présentation rapide de l'interface………………………………………………………………60
Squelette d’un programme en Assembleur…………………………………………………..63
Chapitre 5 : L’environnement Windows………………………………………………………………….65
Chapitre 6 : Structure de données………………………………………………………………………..70
Les variables et les constantes…………………………………………………………………...70
Portée des variables………………………………………………………………………………..73
Directive ALIGN……………………………………………………………………………………..73
Directive d’égalité (=)……………………………………………………………………………..76
L’opérateur PTR……………………………………………………………………………………...77
L’opérateur TYPE…………………………………………………………………………………….78
Les tableaux………………………………………………………………………………………….78
L’opérateur LENGTHOF…………………………………………………………………………….80
Les structures…………………………………………………………………………………………80
Les unions………………………………………………………………………………………….…82
Les pointeurs…………………………………………………………………………………………83
Les opérateurs ADDR & OFFSET………………………………………………………...84
Les crochets………………………………………………………………………………………….85
B y : L o r d N o t e w o r t h y / F A T A s s e m b l e r T e a m Page 5
Chapitre 7 : Principe de base de la programmation Windows……………………………………..88
Programmation événementielle…………………………………………………………………89
Communication par le biais de messages…………………………………………………….89
La notion d’indépendance vis-à-vis des périphériques…………………………………….90
Stockage des informations des programmes sous forme de ressources………………..90
Des types de données étranges…………………………………………………………………90
Convention spéciale de nommage…………………………………………………………….91
La programmation Windows en pratique……………………………………………………..91
Chapitre 8 : Une simple fenêtre……………………………………………………………………………92
La classe de fenêtre………………………………………………………………………….…….93
Création d’une fenêtre……………………………………………………………………………98
Les Tests……………………………………………………………………………………………...102
La directive conditionnelle .IF ………………………………………………………...102
Génération automatique du code ASM……………………………………………103
Comparaison signées et non signés…………………………………………………103
Comparaisons d'entiers signés………………………………………………………..103
Comparaisons de registres…………………………………………………………….104
Expressions composées…………………………………………………………………104
Les boucles…………………………………………………………………………………………105
Directives .REPEAT et .WHILE…………………………………………………………...106
Sortir de la boucle……………………………………………………………………….107
La directive Goto……………………………………………………………………..…107
Traitement des messages………………………………………………………………………..108
La procédure de fenêtre………………………………………………………………………...109
Conclusion et remerciement……………………………………………………………………………..112
Annexes…………………………………………………..………………………………………………..…113
1 / 115 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 !