Wiki ~ namok.be

Cette page est destinée à recevoir les propositions de Résumés de fin de chapitre … en fait, elle se destine plus à devenir la page de propositions de questions pour l'examen … en tous cas d emanière temporaire. Les étudiants seront amenés à préparer ces-dites (néologisme) questions.

Propositions de questions pour l'examen de MIC

Question

  • Quelles sont les différentes étapes pour compiler un code source et l'exécuter (sous DOS et sous Linux) ?
  • À ce stade que savez-vous de la structure d'un programme assembleur ?
  • Pratiquement que se passe-t-il si on oublie d'écrire les instructions de fin de programme ?

Question

  • Expliquez le programme suivant, ligne par ligne.
.MODEL small
.STACK 100h
 
.DATA
   var      DW    5
   string   DB    "Hello world","$"
 
.CODE
 
main  PROC
   ; ------------------------------------------------------
   ; Initialisation de DS
   ; ------------------------------------------------------ 
   mov   AX,@data
   mov   DS,AX
 
   ; ------------------------------------------------------
   ; Code
   ; -----------------------------------------------------
   mov AX,var
   add AX,2
   mov BL,string
 
   ; ------------------------------------------------------
   ; Fin
   ; ------------------------------------------------------
   mov   AX,4C00h
   int   21h
main  ENDP
 
END main 
 

Question

  • Expliquez comment mettre en oeuvre le mécanisme des variables.

Développez, pour tous les types de variables et d'allocation mémoire.

Question

  • Que propose le langage assembleur pour mettre en oeuvre des structures répétitives et/ou conditionnelles. Développez.

Question

  • Présentez quelques instructions assembleur permettant de manipuler les registres au niveau du bit.

Question

  • Expliquer le fonctionnement des instructions MUL et DIV pour un opérande 8 bits et 16 bits. Aidez-vous en écrivant un bout de code clair. N'oubliez pas de déclarer les variables !
  • Faites la différence avec les instructions IMUL et IDIV.

Question

  • Par quoi se caractérise un microprocesseur, de quoi se compose-t-il ?
  • Donnez le 8086 comme exemple et précisez ses particularités.
  • Comparez avec le Z80 et le Motorolla 68000.

Question

  • Définissez la notion de pile. Quels sont les directives, les registres, les instructions associés.
  • Distinguez les cas du 8086 et du m68k. Donnez un exemple pour les deux grandes familles de microprocesseurs.

Question

  • Définissez la notion d'interruption.
  • Distinguez interruption matérielle, exception et interruption logicielle, précisez comment se traite une interruption.
  • Donnez un exemple d'appel d'interruption logicielle en DOS et en Linux.

Question

  • Décrivez le mécanisme permettant de mettre en oeuvre la modularité. Comment fait-on des appels de fonction/procédure ?
  • Décrivrez comment passer des paramètres à une fonction/procédure.

Question

  • Décrivez le mécanisme permettant de mettre en oeuvre la modularité. Comment fait-on des appels de fonction/procédure ?
  • Décrivez comment déclarer et utiliser des variables locales.

Question

  • Décrivez le mécanisme permettant de mettre en oeuvre la modularité. Comment fait-on des appels de fonction/procédure ?
  • Décrivrez comment une fonction peut fournir des informations à la procédure qui l'a appelée.

Question

  • nasm est un compilateur assembleur sous Linux. Décrivez comment éditer du code, le compiler et faire l'édition de lien sous Linux. Appuyez-vous sur un exemple permettant d'écrire Hello world à l'écran. Existe-t-il un débogueur sous Linux ?

Question

  • Expliquez la différence entre mode réel et mode protégé.
  • Présentez la cartographie mémoire de DOS en mode réel.
  • Expliquez les différentes zones mémoire et en particulier les zones aux adresses A0000h et B8000h.

Question

  • Assembleur permet de passer des arguments à un programme. Expliquez le concept et son implémentation sous DOS et sous Linux.

Question

  • Comment fonctionne l'accès aux éléments d'un tableau en langage d'assemblage ? Écrivez un bout de code en DOS permettant de calculer la somme des 10 éléments d'un tableau de mots (words).

Question

  • Qu'est-ce que le registre CFLAGS (registre des flags ou des indicateurs d'état). À quoi sert-il ?
  • Comment le modifie-t-on ?
  • Comment s'en sert-on ?

Question

  • Définissez le terme “registre”, citez les différent types de registres et expliquer leur utilisation dans le cadre de la famille Intel 8086.
  • Quels sont les différences avec le 80386 ?
  • Précisez le rôle des registres de segment.