Ecole centrale d’Electronique INGE3 / PREPA-MASTER Année 2006
Website : http://francomme.fr.fm/ (courses and codes) 5 / 14
9 Indiquez le contenu des registres ou de la mémoire de façon à expliquer l'exécution des instructions
ci-dessous.
Registre de données Contenu mémoire
move.L #$34B10002,d1 d1=
move.L d1,$01B000 ($01B000)=
move.L #$FFFFFFFF,d1 d1=
move.L d1,$01B004 ($01B004)=
move.W $01B002,d0 d0=
muls $01B000,d0 d0=
move.L d0,$01B004 ($01B004)=
2. Deuxième partie.
9 Indiquez la validité des instructions ci-dessous, le contenu de l’espace mémoire et l’état des registres
associés à ces instructions.
Conditions initiales : a0=$01B004 et ($01B0000)=$2C34, ($01B0002)=$FE36, ($01B004)=$59DC
ORG $0
DC.L $7FFF * Stack pointer value after a reset
DC.L START * Program counter value after a reset
ORG $5000
START nop
Instruction valide registre ($01B000)
movea.L #$01B002,a0 OUI a0=$0001B002 XX XX XX XX XX XX
move.W #$FE36,(a0) OUI a0=$0001B002 XX XX FE 36 XX XX
move.W #$2C34,-2(a0) OUI a0=$0001B002 2C 34 FE 36 XX XX
move.W #$59DC,2(a0) OUI a0=$0001B002 2C 34 FE 36 59 DC
neg.w a0
movea.L #$01B004,a0 OUI
neg.B -(a0)
neg.W -(a0)
movea.L #$01B004,a0 OUI
neg.W -(a0)
movea.L #$01B004,a0 OUI
neg.B -(a0)
movea.L #$01B004,a0 OUI
neg.W -1(a0)
Ecole centrale d’Electronique INGE3 / PREPA-MASTER Année 2006
Website : http://francomme.fr.fm/ (courses and codes) 6 / 14
9 Indiquez la validité de l’instruction et l'adresse effective de la donnée sachant que
a0=$01B000 et d2=$00000010.
Instruction valide Adresse effective
neg.L $8000 OUI $8000
neg $7001
neg.W $4(a0) $01B000 + $4 => $01B004
neg.W $f60(a0)
neg.B 10(a0,d2)
neg.W $2D0(a0,d2)
9 Pour chacune des instructions suivantes du 68000, donnez :
¾ le type d'adressage (source, destination)
¾ le résultat
¾ l'état des drapeaux après l'exécution
¾ les anomalies éventuelles
Instructions conditions initiales
move.W #$9000,a1
move.L #$9000,a2
lea $8000,a5
move.W #$7000,a4
move.B d0,(a0) d0 = $87654321
a0 = $01B000
move d0,(a0)+ idem
move.L d0,(a0)+ idem
move.B (a0),$100(a0) a0 = $01B000
($01B000) = 00
move.B (a0),3(a0,d0) idem
d0 = $02
clr $100(a0,d0) idem
clr 3(a0,d0) idem
asl.B #3,d0 d0 = $12345678