Notes sur le 68000 et Illustration sous Unix
Gérard Blanchet
Bertrand Dupouy
Département Signal
68000
G
.
B
l
a
n
c
h
e
t
B
.
D
u
p
o
u
y
N
o
t
e
s
s
u
r
l
e
6
8
0
0
0
TABLE DES MATIèRES
I. La famille 68XXX ............................................................................................................. 1
II. Les registres du 68000..................................................................................................... 1
III. Les drapeaux .................................................................................................................. 2
IV. Instructions..................................................................................................................... 2
IV-1. Syntaxe.................................................................................................................. 2
IV-2. Mouvements.......................................................................................................... 3
IV-3. Opérations arithmétiques....................................................................................... 5
IV-4. Opérations logiques............................................................................................... 8
IV-5. Les décalages......................................................................................................... 9
IV-6. Les manipulations de bits ...................................................................................... 10
IV-7. Instructions DCB .................................................................................................. 10
IV-8. Instructions de branchement.................................................................................. 11
IV-9. Instructions privilégiées......................................................................................... 12
IV-10. Instructions génératrices de trappes..................................................................... 13
IV-11. Instructions sur registre d'état.............................................................................. 13
V. Cycles ............................................................................................................................ 14
V-1. Cycle de lecture....................................................................................................... 14
V-2. Cycle d'écriture ....................................................................................................... 14
V-3. Cycle d'arbitrage de bus.......................................................................................... 15
VI. Les exceptions................................................................................................................ 16
VII. Programmation en assembleur ...................................................................................... 17
VII-1. Exemple ............................................................................................................... 17
VII-1-1. Production d’un fichier exécutable.............................................................. 18
VII-1-2. Lancement sous adb.................................................................................... 18
VII-1-3. Le fichier ass............................................................................................... 20
VII-2. Passage des arguments sur la pile ........................................................................ 20
VII-2-1. Le programme............................................................................................. 20
VII-2-2. Exécution sous adb ..................................................................................... 21
VII-3. Compilation.......................................................................................................... 23
VII-3-1. Un programme c et le code engendré correspondant.................................. 23
VII-3-2. Références non satisfaites ........................................................................... 24
I. La famille 68XXX
Le microprocesseur M68000, dont la conception a duré de 1976 à 1979, est le premier d'une
famille de processeurs CISC dans lesquels ont été introduites des techniques qui caractérisent
bon nombre de processeurs RISC.
D. Ad. MV
68000 1980 16 24 non 75 000 tr. / reg.32 bits / mult.16*16. Pipe de 3 octets.
68HC000 1987 16 24 non
68008 1982 8 20 non
68010 1983 16 24 oui
68012 1985 16 31 oui
68020 1985 32 32 oui 192 000 tr. Pipe de 3 mots.
68070 1987 16 24 oui =68000+MMU+DMA+RS232+I2C+timer
68030 1988 32 32 oui Cache données+MMU+Cache instructions (16 lignes
de 16 octets). 300 000 tr.
68040 1991 32 32 oui 68030+FPU+cache de 4ko+MMU.
1 200 000 tr.
Caractéristiques générales du 68000 :
– adressage A1-A23 + LDS /UDS (16 Mo ou plus avec les bits d'état),
– espace d'adressage commun IO/MEM,
– mécanisme d'arbitrage d'accès au bus,
– deux modes d'interruptions,
– mémoire virtuelle impossible.
II. Les registres du 68000
16 registres 32 bits : 8 de données, 8 d'adresses dont un utilisé comme pointeur de pile. Le
compteur ordinal est sur 24 bits.
I0I1I2
STXNZVCØØØØØØ
D0
D7
A0
A6
A7
USP
SSP
PC (24)
CCR
Données
Adresses
Piles
SR
G
.
B
l
a
n
c
h
e
t
B
.
D
u
p
o
u
y
N
o
t
e
s
s
u
r
l
e
6
8
0
0
0
Notes sur le 68000 _________________________________________________________________________ 2
III. Les drapeaux
ZPositionné lorsque l'opérande destination est mis à zéro ou lorsque le résultat d'une
comparaison est l'égalité.
NBit de signe.
VBit d'overflow, remis à zéro par la plupart des instructions non arithmétiques. Modifié
par les opérations arithmétiques (opérations en complément à deux).
CBit de retenue. Remis à zéro par la plupart des instructions non arithmétiques. Modifié
par les opérations arithmétiques (opérations logiques).
XBit d'extension. Non modifié par les instructions non arithmétiques et modifié par les
opérations arithmétiques comme le bit C. Ne peut être testé par les instructions
conditionnelles.
IV. Instructions
IV-1. Syntaxe
Les exemples traités sont pris sur les machines SUN à processeurs 680x0. La syntaxe utilisée
est légèrement différente de celle définie par Motorola. Ainsi la qualification de longueur des
opérandes est donnée dans l'instruction elle-même et ne constitue pas une extension au code de
l'instruction. Tous les mnémoniques et les noms de registres doivent être en minuscules. Ex. :
MOVE.L … movl …
Notations :
– ri = registre ai ou di,
– ai = registre d'adresse, et di = registre de donnée,
– ea = adresse effective,
– disp = déplacement,
# = indicatif de valeur immédiate et @ = indicatif d'adresse. Ex. : an@ indique que
l'adresse de l'opérande est donnée par le contenu du registre an.
Mode Syntaxe as
0
1
2
3
4
5
6
6
7/0
7/1
7/2
7/3
7/3
7/4
dn
an
an@
an@+
an@–
an@(d)
an@(d,ri:w)
an@(d,ri:l)
xxx:l
xxx:w
pc@(d)
pc@(d,ri:w)
pc@(d,ri:l)
#xxx,sr,ccr
Adressage direct des registres dn
Adressage direct des registres an
Adressage indirect sur registre
Adressage indirect sur registre avec post-incrément
Adressage indirect sur registre avec pré-décrément
Adressage indirect sur registre avec déplacement
Adressage indirect sur registre avec index mot
Adressage indirect sur registre avec index long
Absolu long
Absolu court
Relatif au PC
Relatif au PC avec index mot
Relatif au PC avec index long
Immédiat / adressage sr ou ccr.
G
.
B
l
a
n
c
h
e
t
B
.
D
u
p
o
u
y
N
o
t
e
s
s
u
r
l
e
6
8
0
0
0
1 / 32 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !