Contenu
Structure interne des ordinateurs : processeur, mémoire, entrées/sorties, bus, cycles, instructions et exécution. Modèle du processeur : registres, unité arithmétique et logique, les instructions machines, les modes d'adressage, la gestion de la pile. Utilisation des processeurs : comparaison des architectures CISC et RISC. Programmation langage machine : introduction à la programmation sur un processeur d’ordinateur (Intel) et sur un microcontrôleur, fondement du langage d'assemblage. Programmation avancée en assembleur : développement des applications sur 16 bits et 32 bits, pratique des structures de données et des structures de contrôle, débogage. Interfaçage de l'assembleur avec les langages de haut niveau. Programmation Windows et interfaçage avec les API Win32. Programmation des ports d’entrées/sorties sur microcontrôleur, programmation des interruptions. Ce cours comporte des séances obligatoires de travaux pratiques (TP) de trois heures par semaine.