Motorola 6800

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Motorola MC6800L

Le 6800 est un microprocesseur 8 bits produit par Motorola et sorti peu de temps après l'Intel 8080 en 1975.

Description[modifier | modifier le code]

Motorola 6800

Il avait 78 instructions, y compris l'instruction (peu) célèbre et non documentée de test du bus Halt and Catch Fire (HCF). Il fut certainement le premier microprocesseur avec un registre d'index.

Il se présentait habituellement sous forme d'un boîtier DIP 40 broches. La version 'B' fonctionnait jusqu'à une fréquence de 2 MHz et il contenait 7000 transistors.

Plusieurs micro-ordinateurs de première génération des années 1970, disponibles par correspondance sous forme de kits ou déjà assemblés, utilisait les 6800 en tant que processeur principal. Par exemple, les SWTPC 6800 (le premier ordinateur à utiliser le 6800) et la série MITS ALTAIR 680 (MITS les proposant comme solutions de rechange à son ALTAIR 8800).

Les ordinateurs d'usage professionnel Goupil 1 et Goupil 2 de la société SMT utilisaient un 6808, très proche du 6800 originel.

Les 6800 ont engendré plusieurs descendants, le plus connu étant le considérablement amélioré 6809, qui fut utilisé entre d'autres, dans la console de jeu vidéo Vectrex et dans l'ordinateur Ordinateur Couleur de RadioShack. Il y eut également comme descendant beaucoup de microcontrôleurs à partir de l'architecture du 6800, telle que les 6805, les 6807, le 68HC11 et le 68HC12. Le concurrent MOS Technology copia et améliora les 6800 avec ses 6502 et ses successeurs. Ces derniers furent utilisés dans beaucoup d'ordinateurs et de consoles de jeux pendant les années 1970 et du début à la fin des années 1980 (notamment l'Atari 2600, l'Apple II, le commodore PET, le VIC-20 et le C64).

Valeurs Hexadécimales des Codes Machines[modifier | modifier le code]

OP Mnémo R @
00 *
01 NOP
02 *
03 *
04 *
05 *
06 TAP
07 TPA
08 INX
09 DEX
0A CLV
0B SEV
0C CLC
0D SEC
0E CLI
0F SEl
10 SBA
11 CBA
12 *
13 *
14 *
15 *
16 TAB
17 TBA
18 *
19 DAA
1A *
1B ABA
1C *
1D *
1E *
1F *
20 BRA REL
21 *
22 BHI REL
23 BLS REL
24 BCC REL
25 BCS REL
26 BNE REL
27 BEQ REL
28 BVC REL
29 BVS REL
2A BPL REL
2B BMI REL
2C BGE REL
2D BLT REL
2E BGT REL
2F BLE REL
30 TSX
31 INS
32 PUL A
33 PUL B
34 DES
35 TXS
36 PSH A
37 PSH B
38 *
39 RTS
3A *
3B RTI
3C *
3D *
3E WAI
3F SWI
OP Mnémo R @
40 NEG A
41 *
42 *
43 COM A
44 LSR A
45 *
46 ROR A
47 ASR A
48 ASL A
49 ROL A
4A DEC A
4B *
4C INC A
4D TST A
4E *
4F CLR A
50 NEG B
51 *
52 *
53 COM B
54 LSR B
55 *
56 ROR B
57 ASR B
58 ASL B
59 ROL B
5A DEC B
5B *
5C INC B
5D TST B
5E *
5F CLR B
60 NEG IND
61 *
62 *
63 COM IND
64 LSR IND
65 *
66 ROR IND
67 ASR IND
68 ASL IND
69 ROL IND
6A DEC IND
6B *
6C INC IND
6D TST IND
6E JMP IND
6F CLR IND
70 NEG EXT
71 *
72 *
73 COM EXT
74 LSR EXT
75 *
76 ROR EXT
77 ASR EXT
78 ASL EXT
79 ROL EXT
7A DEC EXT
7B *
7C INC EXT
7D TST EXT
7E JMP EXT
7F CLR EXT
OP Mnémo R @
80 SUB A IMM
81 CMP A IMM
82 SBC A IMM
83 *
84 AND A IMM
85 BIT A IMM
86 LDA A IMM
87 *
88 EOR A IMM
89 ADC A IMM
8A ORA A IMM
8B ADD A IMM
8C CPX A IMM
8D BSR REL
8E LDS IMM
8F *
90 SUB A DIR
91 CMP A DIR
92 SBC A DIR
93
94 AND A DIR
95 BIT A DIR
96 LDA A DIR
97 STA A DIR
98 EOR A DIR
99 ADC A DIR
9A ORA A DIR
9B ADD A DIR
9C CPX DIR
9D *
9E LDS DIR
9F STS DIR
A0 SUB A IND
A1 CMP A IND
A2 SBC A IND
A3 *
A4 AND A IND
A5 BIT A IND
A6 LDA A IND
A7 STA A IND
A8 EOR A IND
A9 ADC A IND
AA ORA A IND
AB ADD A IND
AC CPX IND
AD JSR IND
AE LDS IND
AF STS IND
60 SUB A EXT
B1 CMP A EXT
B2 SBC A EXT
B3 *
B2 AND A EXT
B5 BIT A EXT
B6 LDA A EXT
B7 STA A EXT
B8 EOR A EXT
B9 ADC A EXT
BA ORA A EXT
BB ADD A EXT
BC CPX EXT
BD JSR EXT
BE LDS EXT
BF STS EXT
OP Mnémo R @
C0 SUB B IMM
C1 CMP B IMM
C2 SBC B IMM
C3 *
C4 AND B IMM
C5 BIT B IMM
C6 LDA B IMM
C7 *
C8 EOR B IMM
C9 ADC B IMM
CA ORA B IMM
CB ADD B IMM
CC *
CD *
CE LDX IMM
CF *
D0 SUB B DIR
D1 CMP B DIR
D2 SBC B DIR
D3 *
D4 AND B DIR
D5 BIT B DIR
D6 LDA B DIR
D7 STA B DIR
D8 EOR B DIR
D9 ADC B DIR
DA ORA B DIR
DB ADD B DIR
DC *
DD *
DE LDX DIR
DF STX DIR
E0 SUB B IND
E1 CMP B IND
E2 SBC B IND
E3 *
E4 AND B IND
E5 BIT B IND
E6 LDA B IND
E7 STA B IND
E8 EOR B IND
E9 ADC B IND
EA ORA B IND
EB ADD B IND
EC *
ED *
EE LDX IND
EF STX IND
F0 SUB B EXT
F1 CMP B EXT
F2 SBC B EXT
F3 *
F4 AND B EXT
F5 BIT B EXT
F6 LDA B EXT
F7 STA B EXT
F8 ADC B EXT
F9 ADC B EXT
FA ORA B EXT
FB ADD B EXT
FC *
FD *
FE LDX EXT
FF STX EXT


NOTES


1. Modes d'adressages


A = Accumulateur A
B = Accumulateur B
REL = Relatif
IND = Indexé
IMM = Immédiat
DIR = Direct
EXT = Étendu

2. Codes non valides indiqués par "*"