{Le lien de téléchargement a expiré. Veuillez actualiser la page et réessayer.}

Assembleur Intel - Maîtriser la Programmation Bas Niveau

Assembleur PDF 60 pages 836.28 Ko 4,259
Assembleur Intel - Maîtriser la Programmation Bas Niveau
PDF 60 p. 836.28 Ko
Télécharger

Lien sécurisé — 5 min

À propos de ce cours

Téléchargement de cours gratuitement

Sommaire

  • 1- Rappel : les systèmes de numération
  • 2- Introduction : les microprocesseurs INTEL
  • 3- La mémoire en détail
  • 4- LE JEU D’INSTRUCTIONS
  • 5- Exemples

Extrait du cours

2- Introduction : les microprocesseurs INTEL
2.1 La mémoire
Une analogie consiste à comparer la mémoire à une longue rangée de tiroirs alignes les un derrière les autres. Si on donne à chaque tiroir un numéro, en commençant par 0 pour le 1er tiroir, on dira que ce numéro est l'adresse de la mémoire, dans la suite on parlera d'adresse mémoire . La coutume est (de nombreux avantages la justifie) de noter les adresses mémoires en hexadécimal.
Dans un P. C., l'unité de mémoire est l'octet, ce qui signifie que chaque tiroir comportera un octet, soit 8 bits. On peut donc imaginer que notre tiroir contient 8 paragraphes, chacun représentants un bit pouvant représenter deux états 0 ou 1.

Programme du cours

Objectifs d'apprentissage

  • Maîtriser les systèmes de numération (binaire, hexadécimal) et leur application en assembleur Intel
  • Comprendre l'architecture des microprocesseurs Intel et leur interaction avec la mémoire
  • Apprendre à manipuler les adresses mémoire et les registres du processeur
  • Acquérir une connaissance approfondie du jeu d'instructions Intel (x86/x64)
  • Développer des compétences pratiques via des exemples concrets de programmation assembleur

Public cible

Ce cours s'adresse aux étudiants en informatique, aux développeurs souhaitant comprendre les fondements du matériel, ainsi qu'aux professionnels en cybersécurité ou reverse engineering. Une base en programmation (C, Python) est recommandée, mais pas obligatoire. Les passionnés d'optimisation de code ou d'architecture processeur y trouveront également un intérêt majeur.

Contenu détaillé

1- Rappel : les systèmes de numération

Cette section couvre les bases des systèmes binaire et hexadécimal, essentiels pour comprendre la représentation des données en assembleur. Vous apprendrez à convertir entre ces systèmes et à les utiliser pour les opérations bas niveau.

2- Introduction : les microprocesseurs INTEL

Explorez l'évolution des processeurs Intel, de l'architecture 8086 aux modèles 64 bits actuels. Un focus est mis sur les registres (EAX, EBX, etc.), leur rôle, et le modèle mémoire segmenté vs plat.

2.1 La mémoire
Une analogie consiste à comparer la mémoire à une longue rangée de tiroirs alignés les uns derrière les autres. Chaque tiroir (octet) est adressable individuellement via une adresse hexadécimale. Cette section explique l'organisation mémoire, les accès alignés/non-alignés, et les notions de little-endian.

3- La mémoire en détail

Décryptage du fonctionnement de la RAM, de la pile (stack) et du tas (heap). Vous étudierez les instructions MOV, PUSH/POP, ainsi que la gestion dynamique de la mémoire en assembleur.

4- Le jeu d’instructions

Apprentissage des instructions fondamentales (arithmétiques, logiques, de contrôle) et des modes d'adressage (immédiat, registre, mémoire). Des exemples concrets illustrent l'utilisation des flags (ZF, CF) pour le débogage.

5- Exemples

Mise en pratique avec des cas réels : boucles, appels de fonctions, manipulation de chaînes. Un projet final guide l'écriture d'un programme complet, de la compilation avec NASM à l'exécution sous Linux/Windows.

Approche pédagogique

Le cours combine théorie (schémas d'architecture, tableaux d'instructions) et pratique (émulateurs comme QEMU, débogueurs GDB/OLlyDbg). Des exercices auto-corrigés et des ressources téléchargeables (codes sources, cheatsheets) accompagnent chaque module.