MICROPROCESSEUR ET LANGAGE ASSEMBLEUR 68000
P.J.P. Lycée Dorian : 21/09/2004 @ 23:25 TD n°2 : Premiers Pas en assembleur page 2 / 3
Q 2. 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 #$34C10002,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)=
DEUXIÈME PARTIE.
Q 3. 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 XXXXXXXXXXXX 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 a0=
neg.B -(a0) a0=
neg.W -(a0) a0=
movea.L #$01B004,a0 OUI a0=
neg.W -(a0) a0=
movea.L #$01B004,a0 OUI a0=
neg.B -(a0) a0=
movea.L #$01B004,a0 OUI a0=
neg.W -1(a0) a0=