
Ce cours a pour but de vous initier à la programmation bas-niveau à travers le langage assembleur, en
particulier sur l’architecture ARM, que l’on retrouve aujourd’hui dans la majorité des smartphones,
tablettes, objets connectés et systèmes embarqués.
Vous allez apprendre à "parler le langage du processeur" : comment il exécute des instructions, stocke
des données, effectue des calculs, ou encore prend des décisions à l’aide de structures de contrôle
comme les boucles et les conditions. Contrairement aux langages de haut niveau comme Python ou C,
ici vous aurez un contrôle total sur ce qui se passe dans la machine.
Public cible : 1 ère année Master, spécialité Système l’embarqué
Les objectifs généraux de ce cours :
1. Identifier les composants d'un programme machine et leur rôle dans l'exécutiond'un programme C.
2. Énumérer les différents types de représentations numériques (binaire,
hexadécimal, etc.).
3. Mémoriser les registres de base d'un processeur ARM et leurs fonctions
respectives.
4. Expliquer la différence entre les architectures Harvard et Von Neumann.
5. Décrire comment un programme est chargé et exécuté en mémoire.
6. Illustrer les formats d'instructions en assembleur ARM et leur signification.
7. Traduire un fragment de code C simple en instructions assembleur ARM.
8. Utiliser les instructions de chargement et de stockage pour manipuler des
données en mémoire.
9. Mettre en œuvre des opérations arithmétiques et logiques simples avec les
instructions ARM.
10. Comparer les différentes représentations des entiers signés et leurs effets sur
les opérations arithmétiques
- Teacher: MARMOUH SOUFIANE