Exercice 1:
Q1- A quoi sert le ‘status register’ utilisé dans le microprocesseur M68000. Indiquez l’utilité des octets
utilisateur et superviseur ?
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
Q2- Donnez le résultat des additions suivantes (en base 16), ainsi que le contenu des bits N, Z, V et C du
registre d’état du M68000.
a. Addition sur 8 bits : 7F + 7A
b. Addition sur 16 bits : 8054 + AB3D
c. Addition sur 32 bits : FFFFFFFF + 00000001
Opération Bit N Bit Z Bit V Bit C
7F + 7A (sur 8 bits) …….. …….. …….. ……..
8054 + AB3D (sur 16 bits) …….. …….. …….. ……..
FFFFFFFF + 00000001 (sur 32 bits) …….. …….. …….. ……..
Q3- Indiquerez, après l’exécution de chaque instruction (I), les contenus des registres et de la mémoire qui
viennent d’être modifiés : (Remarque : ‘$’ est équivalant à ‘H’. Il indique la valeur en hexadécimale)
▪ ATTESTION : La mémoire et les registres sont réinitialisés à chaque nouvelle instruction par les valeurs suivantes :
$001000 21 45 PC = $00001000
$001002 87 AF
$001004 B5 F3 D0 = $0000FFFF A0 = $00001000
$001006 3C 32 D1 = $00000004 A1 = $00001008
$001008 AD 45 D2 = $FFFFF000 A2 = $00001010
$00100A 39 98 D3 = $00000000 A3 =
$00100C 9A 9B $00000000
$00100E 9C 9D D4 = $00000000 A4 = $00000000
$001010 03 69 D5 = $00000000 A5 = $00000000
$001012 01 00 D6 = $00000000 A6 = $00000000
$001014 12 0A D7 = $00000000
$001016 0D C9
I1. MOVE.L $1004,-(A2)
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
I2. MOVE.L -(A2),-(A2)
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
1/2
Q4. Complétez les instructions de droite afin de réaliser les mêmes opérations que les instructions de gauche.
Suivez l’exemple suivant :
MOVE.B #$51,(A1)+ → MOVE.x #<data>,(An) MOVE.B #$51,(A1)+ → MOVE.B #$51,(A1)
ADDQ.x #<data>,An ADDQ.L #1,A1
I1. MOVE.W #$01,-(A3) → SUBQ.x #<data>,An
MOVE.x #<data>,(An)
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
I2. MOVE.B #$FF,$FE7(A0) → ADDA.x #<data>,An
MOVE.x #<data>,(An)
SUBA.x #<data>,An
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
2/2