Exercice 1 : 1- Définition : Microprocesseur : Un microprocesseur est un processeur dont tous les composants ont été suffisamment miniaturisés pour être regroupés dans un unique boitier. Microprocesseur : c’est un circuit intégré complexe, très rapide intégrant un très grand nombre de fonctions logiques qu’il ne peut exécuter qu’une seule simultanément Cycle d’instruction : c’est l’intervalle de temps mis par le processeur pour exécuter une instruction Interruption : c’est un évènement capable d’interrompre momentanément l’exécution d’un programme dans le but d’exécuter une autre tache jugée plus importante. Accumulateur : registre servant pour les opérations arithmétiques et logiques, où l’on peut stocker l’une des opérandes au début de l’opération et le résultat à la fin d’une opération Pile LIFO : c’est une pile(petite partie de la RAM qui permet de sauvegarder le contenu de certains registres du microprocesseur en cas d’appel d’un sousprogramme) dans laquelle la dernière donnée sauvegardée doit être la première à être restituée Décodeur c’est un circuit combinatoire à N entrées et 2N sorties permettant de sélectionner une puce 2- Mode d’adressage est le moyen utilisé pour aller chercher une donnée en mémoire Adressage implicite : Dans ce type de mode d'adressage, aucun opérande (registre ou données) n'est spécifié dans l'instruction. L'opérande est inhérent (joint inséparablement) à l'instruction. Exemple: CMA (Complement Accumulator ou accumulateur de complément), Adressage immédiat : Dans ce type d'adressage les 8 bits de données sont directement passées comme opérande. La donnée est immédiatement déplacée vers le registre. Exemple: MVI B 1 4 Adressage Direct absolu: Dans ce type d'adressage, l'adresse mémoire directe est donnée comme opérande. Exemple: LDA C500H Adressage indirect par registre : Dans ce type d'adressage, les données d'un registre sont passées à un autre registre. Exemple: MOV B A Pour ce cas, la donnée de A est passée dans B Adressage par registre : EX : DCX Adressage Direct par registre : EX : JMP 3- Caractéristiques d’un microprocesseur : Fabricant Le nombre de ligne de données Le nombre de ligne d’adresse Sa fréquence d’horloge Le nombre d’instruction du jeu Sa capacité d’adressage 4- Différence entre microprocesseur et microcontrôleur : le microcontrôleur Microprocesseur microcontrôleur généraliste Spécialisé Bati autour d’un microprocesseur, RAM, ROM, des circuits d’interfaces et des circuits spéciaux 5- Parce que la largeur du bus de donnés est de 8 bits 6- Le registre d’états est un ensemble de bits représentant des drapeaux au sein d'un microprocesseur. L’indicateur de signe S : il indique par sa valeur logique 1 qu’un nombre est signé L’indicateur Zéro Z : si Z=1 le résultal d’une opération est nul si non Z=0 L’indicateur half-carry : c’est la retenue auxiliaire ou intermédiaire entre le 4ieme et le 5ieme bit L’indicateur de débordement C ou O encore appelé overflow. Si le résultat d’une opération devient supérieur à 255 sur 8 bits alors C=1 L’indicateur de parité P : Si P =1 alors la somme des bits d’un nombre est paire Exercice 2 : Exercice 3 : 1- langage évolué : c’est un langage se rapprochant du langage courant conçu pour faciliter d’avantage le dialogue homme-machine Langage assembleur : un langage de bas niveau qui représente le langage machine sous une forme lisible par un humain. Son fonctionnement est très proche du langage machine. Il est constitué des mnémoniques Assembleur : C’est un programme de traduction qui traite chaque ligne du programme source pour fournir le code machine Langage machine : le langage de base compréhensible par tous les microprocesseurs, c’est une suite de 1 et 0 Optocode : c’est le code d’une instruction compréhensible par la machine Mnémonique est la description littérale d’une instruction en langage assembleur Jeu d’instructions : est l'ensemble des instructions machines qu'un processeur d'ordinateur peut exécuter. Ces instructions machines permettent d'effectuer des opérations élémentaires (addition, ET logique…) ou plus complexes (division, passage en mode basse consommation…). 2- Voir le jeu d’instructions 3- Ecrire un programme qui compare deux nombres à votre choix situés aux adresses 4150h et 4151h et sauvegarde le plus grand nombre à l’adresse 4152h MVI C,00 MVI B,02 // Initialisation du registre B avec la valeur 02 MOV B // on charge l’accumulateur avec la valeur 02 STA 4150 // on sauvegarde la valeur de l’accumulateur à l’adresse 4150 MVI B,04 // Initialisation du registre B avec la valeur 04 MOV B // on charge l’accumulateur avec la valeur 04 STA 4151 // on sauvegarde la valeur de l’accumulateur à l’adresse 4151 LDA 4150 MOV B,A LDA 4151 CMP B JZ FIN JC SAVE1 STA 4152 SAVE1 : MOV A,B STA 4152 FIN : NOP HLT 4- Ecrire un programme qui fait la multiplication deux nombres à votre choix situés aux adresses 4250h et 4251h et sauvegarde le résultat à l’adresse MVI C,00 MVI B,02 // Initialisation du registre B avec la valeur 02 MOV B // on charge l’accumulateur avec la valeur 02 STA 4250 // on sauvegarde la valeur de l’accumulateur à l’adresse 4150 MVI B,04 // Initialisation du registre B avec la valeur 04 MOV B // on charge l’accumulateur avec la valeur 04 STA 4251 // on sauvegarde la valeur de l’accumulateur à l’adresse 4151 LDA 4250 MOV B,A LDA 4251 MOV D,A MVI A,00 LABEL:ADD B DCR D JNZ LABEL JNC LOOP INR C LOOP:STA 4252 MOV A,C STA 4253 HLT 4252h