0% ont trouvé ce document utile (0 vote)
17 vues2 pages

TD LangageMachine

Le document présente un exercice sur l'architecture des ordinateurs et la programmation assembleur, incluant des instructions pour analyser un programme en langage machine et déterminer l'état des registres après exécution. Il aborde également la conception d'un microprocesseur pour un lecteur multimédia, en posant des questions sur la taille de la mémoire et en demandant un codage des instructions. Enfin, il fournit des exemples de codes d'opération et de significations pour diverses instructions en assembleur.

Transféré par

HICHAM LABRAHMI
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
17 vues2 pages

TD LangageMachine

Le document présente un exercice sur l'architecture des ordinateurs et la programmation assembleur, incluant des instructions pour analyser un programme en langage machine et déterminer l'état des registres après exécution. Il aborde également la conception d'un microprocesseur pour un lecteur multimédia, en posant des questions sur la taille de la mémoire et en demandant un codage des instructions. Enfin, il fournit des exemples de codes d'opération et de significations pour diverses instructions en assembleur.

Transféré par

HICHAM LABRAHMI
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Architecture des Ordinateurs et Programmation assembleur

TD Langage Machine Exercice


Soit le programme suivant stocker en mémoire à partir de l’adresse 0000h:
B8 2A 14 8E D8 A1 00 00 BB 00 00 D1 E0 B9 0A 00 3B C3 7E 1A 2B C3
3B 06
02 00 74 0C 05 0A 00 D1 E8 48 8B 1E 02 00 EB EE 40 2D 0A 00 EB E2
1. Donner sa représentation symbolique ?
2. Complétez le tableau ci-dessous en donnant l’état des registres, y
compris registre d'état, après l’exécution de tout le programme
suivant sachant que l’adresse mémoire 0000h contient 100 et
l’adresse 0002h contient 100 :
Opération IP RI RTA RTUAL AX BX ZF,SF Mode
adressage
Etat initial 0000 (00)00 0000 00 00 1, 0
3. Soit le programme chargé en mémoire à l’adresse 0100h. Compléter
les valeurs des registres après exécution de chaque instruction
sachant que l’adresse 0034h contient 0Ah:
Opération IP RI AX RTA RTUAL ZF, SF, OF
Etat initial 0100h 00 00 00 00 1,0,0
Mov AX,09h
Inc AX
SUB AX, [0034h]
CMP AX, 00
JE 0103h
Mov [0034h], AX
ADD AX, 34

Exercice 3.
Nous voulons concevoir un microprocesseur pour un lecteur multimédia.
Le nombre d’opération est 256 utilisant trois mode d’adressage (Immédiat,
implicite et direct). Les adresses sont sur 8 bits et les valeurs sont sur 16
bits. Nous tenant que les opérations suivantes :
getFormat valeur , moveFirst, moveNext, goto [adr], play valeur, replay,
setVolume valeur.
1. Donner la taille d’un segment mémoire ?
2. Donner la taille maximale adressable de la mémoire ?
3. Donner la taille maximale d’une instruction ?
4. Donner un codage conventionnel et leur mode d’adressage des
instructions données ci-dessus ?
5. Ecrire un programme qui permet de lire un fichier de format 3 (mp3)
avec un volume 12 et le rejouer en langage symbolique et en
langage machine. Annexe :
Symbole Code Op. taille Octets signification
MOV AX, valeur B8 3 AX ← valeur
MOV AX, [ adr ] A1 3 AX ← contenu de l’adresse adr.
MOV [ adr ], AX A3 3 range AX à l’adresse adr.
MOV AH, valeur B4
MOV DS,AX 2 AH←valeur
8ED8 2 DS←AX

1
ADD AX, valeur 05 3 AX ← AX + valeur
ADD AX, [ adr ] 03 06 4 AX ← AX + contenu de adr.
SUB AX, valeur 2D 3 AX ← AX - valeur
SUB AX, [ adr ] 2B 06 4 AX ← AX - contenu de adr.
SUB AX,BX 2BC3 2 AX←AX-BX
SUB BX,AX 2BD8 2 BX←BX-AX
SHR AX, 1 D1 E8 2 décale AX à droite.
Mov BX , [adr] 8B1E 4 BX←contenu de adr
SUB BX, valeur 83EB 4
SHL AX, 1 D1 E0 2 décale AX à gauche.
INC AX 40 1 AX ← AX + 1
DEC AX 48 1 AX ← AX - 1
Mov BX, valeur BB 3
CMP AX, valeur 3D 3 compare AX et valeur.
CMP AX, [ adr ] 3B 06 4 compare AX et contenu de adr.
CMP AX,BX 3BC3 2 compare AX et BX.
INT valeur CD 2 interruption
JMP adr EB 2 saut inconditionnel (adr. relatif).
JE adr 74 2 saut si =
JNE adr 75 2 saut si =
JG adr 7F 2 saut si >
JLE adr 7E 2 saut si ≤
JA adr saut si CF = 0
JB adr saut si CF = 1

Vous aimerez peut-être aussi