0% ont trouvé ce document utile (0 vote)
5 vues4 pages

Instructions et Codes Machine en Assembleur

Le document présente des exercices sur les instructions de langage machine, incluant des modes d'adressage et des explications pour chaque instruction. Il couvre des opérations telles que le chargement d'accumulateurs, des comparaisons, des additions et des soustractions, ainsi que des directives de programme. Enfin, il traite du calcul de déplacements et du temps d'exécution pour des programmes spécifiques.

Transféré par

nourbouf20035
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues4 pages

Instructions et Codes Machine en Assembleur

Le document présente des exercices sur les instructions de langage machine, incluant des modes d'adressage et des explications pour chaque instruction. Il couvre des opérations telles que le chargement d'accumulateurs, des comparaisons, des additions et des soustractions, ainsi que des directives de programme. Enfin, il traite du calcul de déplacements et du temps d'exécution pour des programmes spécifiques.

Transféré par

nourbouf20035
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 PDF, TXT ou lisez en ligne sur Scribd

Solution TD 3

EXO1:

INSTRUCTION MODE ADRESSAGE ET CODE EXPLICATION DU INSTRUCTION


MACHINE

1-LDB #$02 ADRESSAGE IMMEDIAT Charger l’accumulateur A avec


OP: $C602 la valeur $02

2-LDY $4000 ADRESSAGE ETENDU Charger le registre Y avec la


OP : $10BE4000 valeur qui se trouve dans
l’adresse $4000 ET $4001

3-LDX # $1000 ADRESSAGE IMMEDIAT Charger le registre X avec la


OP : $8E 1000 valeur $1000

4-CMPA # $08 ADRESSAGE IMMEDIAT Faite une comparaison entre le


OP : $8180 contenu de l’accumulateur A et
la valeur $80

5-ADDD $2000 ADRESSAGE ETENDU Additionner le contenu de


OP : $F32000 l’accumulateur D avec la valeur
qui se trouve dans l’adresse
$2000 et $2001

6-ROLA ADRESSAGE HENERENT OU Rotation à gauche du contenu


IMPLICITE de l’accumulateur A
OP : $49

7-SUBA > $2000 ADRESSAGE ETENDU Soustraction du contenu de A


OP : $B02000 avec le contenu de la case
$2000

8-LDA [$8010] ADRESSAGE ETENDU Charger l’accumulateur A avec


INDIRECT la valeur qui se trouve dans
OP : $B6F98010 l’adresse donner par l’adresse
$8010 et $8011

9-LBPL etiq ADRESSAGE RELATIF LONG Branchement si positif


OP : $102A

10-INC < $44 ADRESSAGE DIRECT Incrémenter la case mémoire


OP : $0C44 $DP44
EXO2:

INSTUCTION CODE MACHINE EXPLICATION DU INSTRUCTION

1-LDA .X $A684 Charger l’accumulateur A avec


le contenu de l’adresse donne
par X+0

2-LDA. X++ $A681 Charger l’accumulateur A avec


le contenu de l’adresse donne
par X et incrémenter X par 2

3-LDA B .X $A685 Charger l’accumulateur A avec


le contenu de l’adresse X+B

4-LDA [.X] $A694 Charger l’accumulateur A avec


le contenu de l’adresse donner
par l’adresse X et X+1

5- LDY, - - X $10AE83 Charger le registre Y avec la


valeur qui se trouve dans
l’adresse X et X+1 et
décrémenter X par - 2

6- LDY $65, U $10AEC865 Charger le registre Y avec la


valeur qui se trouve dans
l’adresse U+$65 et U+$66

7- LDA $8040, X $A6898040 Charger A avec le contenu de


l’adresse X+$8040

8-LDA $45, S $A6E845 Charger A avec le contenu de


l’adresse S+$45

9-ADDB -3, Y $EB3D Additionner le contenu de B


avec la valeur qui se trouve
dans l’adresse Y-3

10-ADDA [, U++] $ABD1 Additionner le contenu de


l’accumulateur A avec le
contenu de l’adresse donner
par l’adresse U et U+1 ET
incrémenter U par 2

11-LEAY D, X $318B Charger le registre Y avec la


valeur X+D

12-LDU [D, Y] $EEBB Charger le registre U avec la


valeur qui se trouve dans
l’adresse donner par l’adresse
Y+D et Y+D+1
EXO3 :

1- Les directives ORG : Début : du programme END : fin du programme


2-

Adresses Code objet OP Mnémoniques

$FC00 $86NB LDA # $NB

$FC02 $8401 ANDA # $01

$FC04 $2707 BEQ ETIQ1

$FC06 $C6NB LDB # $NB

$FC08 $F700O2 STB $0002

$FC0B $2005 BRA ETIQ2

$FCOD $C6NB LDB #$NB

$FC0F $F70001 STB $0001

$FC12 $3F END

3-Ce programme teste l’octet $NB S’il est pair il le stocke à l’adresse mémoire $0001 dans le cas
contraire il le stocke à l’adresse $0002

Le calcul du déplacement :

$FC0D - $FC06 =$07 $FC12-$FC0D= $05


EXO4 :

1-Remplissage du tableau :

Adresse Code objet Mnémoniques Nombre de cycles

$FC00 $CC0110 LDD # $0110 3

$FC03 $4A DECA 2

$FC04 $26FD BNE ETIQ1 2

$FC06 $5A DECB 2

$FC07 $26FD BNE ETIQ2 3

$FC09 $3F END -

Calcule du déplacement : $FC03- $FC06=$FD $FC06 - $FC09=$FD

2-Le temps nécessaire à l’exécution de ce programme :

Temps nécessaire = Nombre de cycle /fréquence

Nombre de cycle =3+2+3+2*16+3*16=88

Tc=88/2*106 =44µs

D=0000 0001 0001 0000

DECB: $10 $0F $E $D $C $B $A ………………………. $00 décrémenter 16 fois

3-Ce programme faite la remise a zéro du l’accumulateur D

Vous aimerez peut-être aussi