Td 03 : architecture du microprocesseur 8086 et instructio

Informatique Industrielle : TD 03 : Architecture du microprocesseur 8086 et instructio

Télécharger PDF

TD 03 : Architecture du Microprocesseur 8086 et Instructions

Exercice 01

1. Les registres du 8086 sont : AX, BX, CX, DX, SI, DI, BP, SP, IP, CS, DS, SS, ES.

2. Une adresse logique du 8086 est présentée sous la forme d'un segment suivi d'une déviation, par exemple SEGMENT:OFFSET. L'adresse physique se calcule en additionnant le segment et l'offset : Adresse physique = Segment + Offset.

3. La capacité de la mémoire adressable en 8086 est de 1 Mo (220 octets).

4. Le nombre maximal de segments en 8086 est de 64 Ko (216 segments). Dans cette condition, l'intervalle séparant le début d'adressage de deux segments successifs est de 16 octets.

5. Le registre d'état (ou FLAGS) du 8086 contient des indicateurs qui reflètent l'état des opérations arithmétiques et logiques. Les principaux indicateurs sont : Carry (CF), Parity (PF), Auxiliary Carry (AF), Zero (ZF), Sign (SF) et Overflow (OF).

6. Pour le 8086 :

  • AL : Registre de 8 bits (1 octet), partie basse du registre AX, utilisé pour les opérations arithmétiques et logiques.
  • AX : Registre de 16 bits (2 octets), composé des registres AL (partie basse) et AH (partie haute), utilisé pour les opérations arithmétiques et logiques sur des données de 16 bits.
  • IP : Registre de 16 bits (2 octets), pointeur d'instruction, qui contient l'adresse de la prochaine instruction à exécuter.

Exercice 02

État des registres AL et IP après chaque instruction :

  • MOV AL, [000B] : AL = 10h, IP = 0002h (car l'instruction suivante commence à l'adresse 0002h).
  • ADD AL, FFh : AL = 0Fh (10h + FFh = 0Fh), IP = 0004h.
  • CMP AL, 00h : AL reste inchangé (0Fh), IP = 0006h.
  • JNE 0003h : AL reste inchangé (0Fh), IP = 0003h (car ZF = 0, l'instruction est exécutée).
  • MOV AL, [1000] : AL = 45h, IP = 0005h.

Exercice 03

Instructions correctes et leur mode d'adressage :

  • Mov AX, BX : Mode d'adressage registre à registre.
  • Mov AX, N1 : Mode d'adressage registre à constante (si N1 est une valeur immédiate).
  • Mov AX, [BX] : Mode d'adressage registre à mémoire (indirect).
  • Mov AX, [BX+2] : Mode d'adressage registre à mémoire (indirect avec décalage).

Instructions incorrectes : Mov AX, 9 et Mov 9, AX (car le 8086 ne permet pas de charger directement une constante en AX sans préfixe, et l'adressage avec une constante n'est pas valide).

Exercice 04

Rôle des programmes :

  • Programme1.asm : Affiche les lettres de 'A' à 'Z' en incrémentant le registre DL et utilise la boucle Loop pour répéter l'affichage 26 fois.
  • Programme2.asm : Lit un caractère depuis l'entrée standard (clavier) puis l'affiche à la sortie standard (écran).

FAQ

Quels sont les registres généraux du 8086 ?

Les registres généraux du 8086 sont : AX, BX, CX et DX. Ils sont utilisés pour les opérations arithmétiques, logiques et de manipulation de données.

Comment fonctionne l'adressage segmenté en 8086 ?

L'adressage segmenté en 8086 combine un segment (16 bits) et un offset (16 bits) pour former une adresse physique de 20 bits, ce qui permet d'adresser jusqu'à 1 Mo de mémoire. La formule est : Adresse physique = Segment × 16 + Offset.

Quelle est la différence entre AX et AL ?

AX est un registre de 16 bits utilisé pour les opérations sur des données de 2 octets, tandis que AL est sa partie basse (8 bits) utilisée pour les opérations sur des données d'un seul octet.

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne