
Cours Assembleur
Dépasse les langages de haut niveau et prends le contrôle total du matériel. Ce cours d'assembleur t'enseigne l'assembleur x86-64 de A à Z — registres, mémoire, contrôle de flux, conventions d'appel et optimisation SIMD. Tu écriras de vrais programmes, tu interfaceras avec le C et tu analyseras le code binaire comme un professionnel.
Ce que vous allez apprendre:
Tu commenceras par les principes fondamentaux de l'architecture des CPU et les systèmes de numération, puis tu aborderas l'ensemble complet du jeu d'instructions x86-64 couvrant le déplacement de données, l'arithmétique, la logique et le contrôle de flux. Tu maîtriseras les appels de procédure, la gestion des trames de pile et les conventions d'appel standard pour Linux et Windows. Le cours couvre les structures de données en assembleur, les systèmes de macros et l'organisation de projets multifichiers. Tu apprendras également la vectorisation SIMD, l'optimisation du cache et le réglage des performances au niveau des instructions. Le matériel supplémentaire couvre le débogage, la rétro-ingénierie, l'interaction avec le système d'exploitation via les appels système, la programmation embarquée sur métal nu et les pratiques professionnelles, y compris les tests et la révision de code.
Comment vous étudiez de façon pratique Cours Assembleur
Comment vous pratiquez Cours Assembleur
Pour vous, entreprise, qui souhaitez former votre équipe
Avec Dedika pour entreprises, le cours inclut des exercices et des exemples adaptés à votre propre entreprise et à ses besoins spécifiques.
Contenu du cours
8 Chapitres • 36 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsFondements du langage assembleur
Fondements du langage assembleur
Leçon 1 • Notions essentielles d'architecture système
Couvre les composants du CPU, le cycle de recherche-décodage-exécution et la hiérarchie de la mémoire. Établit le contexte matériel qui donne son sens au langage assembleur.
Leçon 2 • Systèmes de numération et représentation des données
Enseigne les systèmes binaire, octal, hexadécimal et l'arithmétique en complément à deux. Fournit la maîtrise numérique nécessaire pour lire et écrire correctement les opérandes en assembleur.
Leçon 3 • Assembleur vs langages de haut niveau
Compare les niveaux d'abstraction, les pipelines de compilation et les compromis de performance. Explique pourquoi la programmation de bas niveau reste pertinente dans les systèmes modernes.
Leçon 4 • Aperçu de la chaîne d'outils de l'assembleur
Présente les assembleurs, les éditeurs de liens, les chargeurs et les débogueurs comme une chaîne d'outils unifiée. Les étudiants configurent un environnement de développement fonctionnel d'ici la fin de cette section.
Chapitre 2MasquerCacher les détailsVoir les détailsRegistres, mémoire et adressage
Registres, mémoire et adressage
Leçon 1 • Organisation et segmentation de la mémoire
Décrit le modèle de mémoire plat, la pile, le tas et les segments de code dans un espace d'adressage de processus. Prépare les étudiants à comprendre où se trouvent les données avant l'introduction des modes d'adressage.
Leçon 2 • Modes d'adressage en profondeur
Couvre l'adressage immédiat, par registre, direct, indirect, base-plus-déplacement et à index mis à l'échelle. Les étudiants sélectionnent le mode correct pour tout modèle d'accès aux données donné.
Leçon 3 • Registres d'indicateurs et d'état
Explique le registre EFLAGS/RFLAGS et les bits d'indicateur individuels définis par les opérations arithmétiques et logiques. Prépare les étudiants au branchement conditionnel dans les chapitres suivants.
Leçon 4 • Ensemble de registres à usage général
Détaille les huit registres à usage général 64 bits hérités et étendus et leurs utilisations conventionnelles. Relie la connaissance des registres à la spécification des opérandes dans les instructions.
Chapitre 3MasquerCacher les détailsVoir les détailsJeu d'instructions de base
Jeu d'instructions de base
Leçon 1 • Instructions sur chaîne et bloc
Présente MOVS, STOS, LODS, SCAS et CMPS avec les préfixes REP pour les opérations de données en masse. Relie cela aux modèles de manipulation efficace de la mémoire utilisés dans les programmes réels.
Leçon 2 • Instructions de mouvement de données
Enseigne les instructions MOV, MOVZX, MOVSX, LEA, XCHG et PUSH/POP, leur sémantique et leurs contraintes. Forme la base de toute utilisation ultérieure des instructions.
Leçon 3 • Instructions logiques et bit à bit
Explique AND, OR, XOR, NOT, TEST et CMP et leur comportement de définition d'indicateur. Permet aux étudiants de mettre en œuvre des opérations de masquage, de basculement et de comparaison.
Leçon 4 • Instructions arithmétiques
Couvre ADD, SUB, MUL, IMUL, DIV, IDIV, INC, DEC et NEG avec leurs effets sur les indicateurs. Les étudiants mettent en œuvre des routines arithmétiques sur les entiers et gèrent les conditions de débordement.
Leçon 5 • Instructions de décalage et de rotation
Enseigne SHL, SHR, SAR, ROL, ROR, RCL et RCR avec interaction avec l'indicateur de retenue. Les étudiants utilisent les décalages pour la multiplication, la division rapide et l'extraction de champs de bits.
Chapitre 4MasquerCacher les détailsVoir les détailsContrôle de flux et branchement
Contrôle de flux et branchement
Leçon 1 • Sauts inconditionnels et étiquettes
Couvre les formes de l'instruction JMP, la définition d'étiquettes et le codage des sauts courts, proches et lointains. Établit la mécanique de la manipulation du compteur de programme.
Leçon 2 • Constructions de boucle et instruction LOOP
Enseigne les instructions LOOP, LOOPE et LOOPNE avec le comptage basé sur CX/ECX/RCX. Les étudiants mettent en œuvre des boucles comptées et comparent l'efficacité avec les alternatives Jcc.
Leçon 3 • Modèles de contrôle de flux structurés
Traduit les modèles while, do-while, for et switch en séquences d'assembleur idiomatiques. Renforce le nommage clair des étiquettes et la discipline de passage en séquence.
Leçon 4 • Instructions de saut conditionnel
Fait correspondre tous les mnémoniques Jcc à leurs conditions d'indicateur pour les comparaisons signées et non signées. Les étudiants mettent en œuvre des structures if-else et de type switch en assembleur.
Chapitre 5MasquerCacher les détailsVoir les détailsProcédures, pile et conventions d'appel
Procédures, pile et conventions d'appel
Leçon 1 • Architecture de la pile et opérations
Explique le pointeur de pile, le pointeur de base, les mécanismes push/pop et la direction de croissance de la pile. Fournit le modèle mental nécessaire pour comprendre les trames de procédure.
Leçon 2 • Conventions d'appel
Couvre l'ABI System V AMD64 et la convention d'appel Windows x64 : registres d'arguments, espace d'ombre et valeurs de retour. Permet une interopérabilité correcte entre C et l'assembleur.
Leçon 3 • Trames de pile et variables locales
Enseigne les modèles de prologue et d'épilogue, la configuration du pointeur de trame et l'allocation des variables locales. Les étudiants construisent des procédures avec une gestion correcte des trames.
Leçon 4 • Mécanismes de CALL et RET
Détaille comment CALL pousse l'adresse de retour et RET la dépile, y compris les variantes proches et lointaines. Les étudiants retracent le flux d'exécution à travers les appels de procédure imbriqués.
Leçon 5 • Procédures récursives
Implémente des algorithmes récursifs en assembleur, en gérant la profondeur de la pile et les cas de base de manière explicite. Renforce la discipline des trames sous des auto-appels répétés.
Chapitre 6MasquerCacher les détailsVoir les détailsStructures de données en assembleur
Structures de données en assembleur
Leçon 1 • Tableaux et accès indexé
Couvre la disposition des tableaux unidimensionnels et multidimensionnels, la mise à l'échelle de la taille des éléments et la vérification des limites. Relie l'adressage à l'index mis à l'échelle au parcours réel de tableaux.
Leçon 2 • Listes chaînées et structures dynamiques
Implémente le parcours, l'insertion et la suppression de listes simplement et doublement chaînées en assembleur. Démontre le suivi dynamique des pointeurs sans le support d'un langage de haut niveau.
Leçon 3 • Pointeurs et arithmétique des pointeurs
Enseigne le déréférencement de pointeur, l'arithmétique des pointeurs et les gardes de pointeur nul en assembleur. Fait le pont entre la sémantique des pointeurs en C et les modèles d'accès mémoire en assembleur.
Leçon 4 • Structures et disposition des enregistrements
Explique les décalages de champs de structure, le bourrage d'alignement et le calcul de la taille en assembleur. Les étudiants définissent et accèdent aux champs de structure en utilisant l'adressage base-plus-déplacement.
Chapitre 7MasquerCacher les détailsVoir les détailsMacros, directives et programmation modulaire en assembleur
Macros, directives et programmation modulaire en assembleur
Leçon 1 • Projets multi-fichiers et édition de liens
Explique les directives GLOBAL, EXTERN et PUBLIC pour la visibilité des symboles entre fichiers. Les étudiants construisent et éditent correctement des projets en assembleur multi-modules.
Leçon 2 • Directives de l'assembleur
Couvre les directives de définition de données (DB, DW, DD, DQ), les déclarations de section et les directives d'alignement. Enseigne comment les directives contrôlent la disposition du fichier objet.
Leçon 3 • Bibliothèques de macros structurées
Organise les macros réutilisables dans des fichiers d'inclusion et applique les gardes d'inclusion. Établit des pratiques professionnelles d'organisation du code pour les grands projets en assembleur.
Leçon 4 • Définition et expansion de macros
Enseigne la syntaxe des macros sur une seule ligne et sur plusieurs lignes, les paramètres et les étiquettes locales. Les étudiants remplacent les blocs de code répétitifs par des macros paramétrées.
Leçon 5 • Assemblage conditionnel
Utilise les directives IF, IFDEF, IFNDEF, ELSE et ENDIF pour produire des chemins de code spécifiques à une plateforme. Permet à un seul fichier source de cibler plusieurs configurations.
Chapitre 8MasquerCacher les détailsVoir les détailsSujets avancés et optimisation
Sujets avancés et optimisation
Leçon 1 • Profilage et analyse de performance
Utilise les compteurs de performance, l'inspection du désassemblage et l'analyse comparative pour identifier les goulots d'étranglement. Les étudiants itèrent sur le code assembleur guidés par des données de profilage quantitatives.
Leçon 2 • Optimisation du cache et de la mémoire
Enseigne la sensibilisation à la ligne de cache, les instructions de préchargement et la disposition des données pour la localité spatiale. Les étudiants restructurent les modèles d'accès aux données pour minimiser les échecs de cache.
Leçon 3 • Assembleur en ligne dans les programmes C
Couvre la syntaxe de l'assembleur en ligne étendue de GCC : contraintes, listes de registres détruits et qualificateurs volatile. Les étudiants intègrent des extraits d'assembleur optimisés à l'intérieur de fichiers source C.
Leçon 4 • Instructions SIMD et vectorielles
Présente les registres SSE2 et AVX2, les types de données et les instructions arithmétiques compactées. Les étudiants vectorisent des boucles scalaires pour traiter plusieurs éléments de données par cycle.
Leçon 5 • Optimisation au niveau des instructions
Applique l'ordonnancement des instructions, l'allocation des registres et le déroulage de boucles pour réduire la latence. Les étudiants réécrivent les boucles fréquentes en utilisant les données de pipeline et de débit du CPU.
Votre certificat valide de réussite
Ce cours est pour vous :
Développeur C/C++ : veut comprendre ce que le compilateur produit sous le capot.
Étudiant en informatique : doit relier la théorie des cours au comportement réel du matériel.
Chercheur en sécurité : doit lire et raisonner sur les binaires compilés lors de l'analyse de vulnérabilités.
Développeur de jeux ou d'infographie : cherche un contrôle au niveau des instructions pour extraire des performances supplémentaires.
Passionné de systèmes embarqués : veut programmer des microcontrôleurs et des périphériques sans les abstractions du système d'exploitation.
Personne en reconversion professionnelle : construit un portfolio en programmation système pour entrer dans des postes d'ingénierie de bas niveau.
Ce que nos apprenants disent
Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir à changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...

J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.

J'aime le contenu et la façon dont il est présenté ainsi que la transcription des vidéos, ce qui accélère le processus !

La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.

Formations principales
FAQ
Qui est Dedika?
Le certificat est-il valable au Canada ?
Les cours sont-ils gratuits?
Quelle est la charge de travail des cours?
Comment sont les cours?
Comment fonctionnent les cours?
Quelle est la durée des cours?
Quel est le coût ou le prix des cours?
Qu’est-ce qu’un cours EAD ou en ligne et comment ça fonctionne?
Cours PDF




















