Beruflich Dokumente
Kultur Dokumente
Microprocesseur 68000
1
4-4
Jeu d’instructions
•Opération de transfert
•Opérations arithmétiques
•Opérations Logiques
•Opération de décalage
•Branchement
•Branchement avec décrémentation
2
Opération de transfert
Instruction Taille de l'opérande Opération
3
Opérations arithmétiques
Mnemonic Description Operation
5
Opérations logiques
M nem onic Description Operation
7
Branchement sans condition
8
Branchement conditionnel
Mnémonique Texte Branchement si Pour les nombres
BCC Branch Carry Clear C=0
BCS Branch Carry Set C=1
BEQ Branch Equal Z=0 (non) signé
BNE Branch Not Equal Z=1 signés
BGE Branch Greater or Equal N=V signés
BGT Branch Greater Than N=V ET Z=0 signés
BHI Branch HIgher than C=0 ET Z=0 non signés
BLE Branch Less or Equal Z=1 OU NV signés
BLS Branch Lower or Same C=1 OU Z=1 non signés
BLT Branch Less Than N=~V signés
BMI Branch Minus N=1 signés
BPL Branch Plus N=0 signés
BVC Branch V Clear V=0
BVS Branch V Set V=1
BRA BRanch Always Sans condition
9
Branchement avec décrémentation
D0 $12345678
A7 $FFFF02 $FFFF00
MOVE.W D0,-(A7)
xx Pointeur 56
xx Pointeur de pile (A7) 78
de pile (A7)
11
PILE (Dépilement 16 bits) 4-5
D0 $xxxxxxxx $xxxx5678
A7 $FFFF00 $FFFF02
MOVE.W (A7)+,D0
56 Pointeur 56
78 de pile (A7) 78
Pointeur
de pile (A7)
12
PILE (Empilement 32 bits) 4-5
D0 $12345678
A7 $FFFF04 $FFFF00
MOVE.L D0,-(A7)
xx Pointeur 12
xx de pile (A7) 34
xx 56
xx 78
Pointeur
de pile (A7)
13
PILE (Dépilement 32 bits) 4-5
D0 $xxxxxxxx $12345678
A7 $FFFF00 $FFFF04
MOVE.L (A7)+,D0
12 Pointeur 12
34 de pile (A7) 34
56 56
78 78
Pointeur
de pile (A7)
14
PILE (Empilement multiple) 4-5
A7 $FFFF06 $FFFF00
MOVEM.W D0/D1/D2,-(A7)
xx MOVEM.W D0-D2,-(A7)
xx
xx Pointeur 78
xx de pile (A7) 9A
xx 67
xx 89
xx 56
xx Pointeur 78
de pile (A7)
15
Sous-programme 4-6
BSR
instr1
instr2
PC --> -(A7)
BSR puiss
instr3 PC <-- PC+d
…
puiss instr1
instr2 PC <-- (A7)+
RTS
JSR
instr1
instr2
PC --> -(A7)
BSR puiss
instr3 PC <-- puiss
…
puiss instr1
instr2 PC <-- (A7)+
RTS
17
Exemple 4-6
ORG $1000
1000 2E7C 000F FF00 MOVEA #$00FFF00,A7
1006 223C 1234 5678 MOVE.L #$12345678,D1
100C 303C 0038 MOVE.W #56,D0
1010 4EB9 0000 1018 JSR carre
1016 4E40 TRAP #0
1018 2F01 carre MOVE.L D1,-(A7)
101A 3200 MOVE.W D0,D1
101C C1C1 MULS D1,D0
101E 221F MOVE.L (A7)+,D1
1020 4E75 RTS
18
Exemple (suite) 4-6
ORG $1000
1000 2E7C 000F FF00 MOVEA #000FFF00,A7
1006 223C 1234 5678 MOVE.L #$12345678,D1
100C 303C 0038 MOVE.W #56,D0
1010 4EB9 0000 1018 JSR carre
1016 4E40 TRAP #0
D1 12 34 56 78 FFEF9
FFEFA
D0 00 00 00 38 FFEFB
FFEFC 00 PILE
A7 FFEFD 00
00 0F FF 00 FFEFE 10
A7
FFEFF 16
00 0F FE FC FFF00
PC 00 00 1018 19
Exemple (suite) 4-6
FFEF8 12
D1 12 34 56 78 12 34 00 38 FFEF9 34
FFEFA 56
A7 00 0F FE FC 00 0F FE F8 FFEFB 78
FFEFC 00 PILE
FFEFD 00
D0 00 00 00 38 00 00 0C 40 FFEFE 10
FFEFF 16
A7 00 0F FE F8 FFF00
20
Exemple (suite) 4-6
FFEF8 12
D1 12 34 56 78 12 34 56 78 FFEF9 34
FFEFA 56
A7 00 0F FE FC 00 0F FE F8 FFEFB 78
FFEFC 00 PILE
FFEFD 00
D0 00 00 00 38 00 00 0C 40 FFEFE 10
FFEFF 16
A7 00 0F FE FC FFF00
PC 00 00 10 20 21
Exemple (suite) 4-6
1018 2F01 Carre MOVE.L D1,-(A7)
101A 3200 MOVE.W D0,D1
101C C1C1 MULS D1,D0
101E 221F MOVE.L (A7)+,D1
1020 4E75 RTS
D1 12 34 56 78 12 34 56 78 FFEF8 12
FFEF9 34
A7 00 0F FE FC 00 0F FE F8 FFEFA 56
FFEFB 78
D0 00 00 00 38 00 00 0C 40 FFEFC 00 PILE
FFEFD 00
FFEFE 10
A7 00 0F FE FC 00 0F FF 00 FFEFF 16
FFF00
PC 00 00 10 20 00 00 10 16
FFDFE
FFDFF
FFE00
PILE
Pointeur
de Pile
.
. PILE Zone tampon
. libre de taille
$100
FFF00 FFF00
Pointeur
de Pile
23
Création d’une zone tampon 4-7
FFDFE
A7 000F FF00
FFDFF
FFE00 A6 0000 CAFE
LINK A6,-#$100
.
. PILE
.
FFF00
Pointeur
de Pile
24
Création d’une zone tampon 4-7
FFDFE
A7 000F FF00
FFDFF
FFE00 A6 0000 CAFE
.
.
. LINK A6,#-$100
FFEFC 00 PILE
00 A6 000F FEFC
Pointeur
de Pile CA
FE
FFF00
25
Création d’une zone tampon 4-7
FFDFA
A7 000F FF00
FFDFB
FFDFC A6 0000 CAFE
Pointeur $100 Octets
.
de Pile
. Libres
. LINK A6,#-$100
FFEFC 00 PILE
A6 00 A6 000F FEFC
CA A7 000F DFC (=FFEFC-100)
FE
FFF00
26
Récupération de la zone tampon
A6 000F FEFC
FFDFA
FFDFB
A7 00FF DFC
FFDFC
Pointeur $100 Octets
.
de Pile A7
.
UNLK A6
de la zone
.
27
Récupération de la zone tampon
A6 000F FEFC
FFDFA
FFDFB
A7 00FF DFC
FFDFC
.
.
UNLK A6
.
28
Récupération de la zone tampon
A6 000F FEFC
FFDFA
FFDFB
A7 00FF DFC
FFDFC
.
.
UNLK A6
.
29
Application, passage des paramètres 4-7
Exemple:
Subrtn LINK A6,#-12 Create a 12-byte workspace
.
MOVE D3,-8(A6) Accès aux éléments de mémoire via A6
.
.
UNLK A6 récupération de la zone
RTS Retourner au prog principal
31