ASM

Programmation assembleur

Connaissances préalables recommandées :


L’étudiant doit connaître et savoir utiliser les notions suivantes :
  • L'étudiant-e doit connaître un modèle abstrait d'un processeur
  • L'étudiant-e doit avoir obtenu une note supérieure ou égale à la limite de compensation dans les unités : ARO1, ARO2, INF1, INF2

 

Objectifs :


A l'issue de cette unité d'enseignement, l'étudiant-e sera capable de :

  • Comprendre les notions d'environnement croisé, de BSP, de datasheet
  • Comprendre les environnements matériels de mise au point (JTAG)
  • Comprendre les notions d'assembleur et caractéristiques d'un processeur
  • Comprendre le jeu d'instructions d'un processeur, incluant les instructions de traitement, de transferts de données et de branchement
  • Comprendre la notion de mode d'adressage
  • Connaître les extensions du langage et directives de compilation
  • Comprendre les appels de fonction, conventions d'appel, et gestion de la pile
  • Décrire le rôle d'un compilateur et du code généré (code objet)
  • Expliquer les mécanismes d'interactions C-assembleur avec l'assembleur inline et les différentes directives (entrées, sorties, clobbers, etc.)
  • Concevoir le code en assembleur inline dans une code C pour le passage de structures conventionnelles (valeurs, adresses)

A l'issue des travaux pratiques en laboratoire, principalement destinés à l'assimilation des connaissances et à l'acquisition d'expérience, l'étudiant-e sera en outre capable de

  • Maîtriser un environnement de développement croisé avec une cible à processeur ARM
  • Implémenter différents code en assembleur inline effectuant des passages in/out de différentes valeurs
  • Implémenter des passages de valeurs entre C et assembleur ARM et x86
  • Concevoir et développer une petite application en assembleur ARM et/ou x86