De M6800 was in de jaren 70 een 8-bits microprocessor van Motorola, die geen groot commercieel succes werd. De Intel 8080 en vooral de Z80 en de MOS 6502 werden veel meer toegepast. De M6800 heeft maar twee registers voor algemeen gebruik, accumulator A en accumulator B. Verder zijn er een 16-bits indexregister IX, een stackpointer SP en een programmateller PC en is er het register met conditiecodes. De M6800 was door Motorola ontwikkeld en werd door Motorola verkocht.
Meer informatie linker vier bits →, A0 ...
linker vier bits → |
00 |
10 |
20 |
30 |
40 |
50 |
60 |
70 |
80 |
90 |
A0 |
B0 |
C0 |
D0 |
E0 |
F0 |
rechter vier bits↓ |
|
|
relatieve sprong |
|
acca |
accb |
ind |
ext |
imm |
dir |
ind |
ext |
imm |
dir |
ind |
ext |
| 00 |
|
SBA A=A-B |
BRA branch |
TSX IX=SP+1 |
NEG M=-M |
SUB A=A-M |
SUB B=B-M |
| 01 |
NOP |
CBA A:B |
|
INS SP=SP+1 |
|
|
|
|
CMP A:M |
CMP B:M |
| 02 |
| |
BHI if > |
PUL pop A |
|
|
| |
SBC A=A-M-C |
SBC B=B-M-C |
| 03 |
|
|
BLS if <= |
PUL pop B |
COM M=~M |
|
|
|
|
|
|
|
|
| 04 |
|
|
BCC if C=0 |
DES SP=SP-1 |
LSR shift right |
AND A=A and M |
AND B=B and M |
| 05 |
|
|
BCS if C=1 |
TXS SP=IX-1 |
|
|
|
|
BIT A:M |
BIT B:M |
| 06 |
TAP CC=A |
TAB B=A |
BNE if <> |
PSH push A |
ROR rotate right |
LDA A=M |
LDA B=M |
| 07 |
TPA A=CC |
TBA A=B |
BEQ if Z=1 |
PSH push b |
ASR shift right |
|
STA M=A |
|
STA M=B |
| 08 |
INX IX=IX+1 |
|
BVC if V=0 |
|
ASL shift left |
EOR A=A xor M |
EOR B=B xor M |
| 09 |
DEX IX=IX-1 |
DAA |
BVS if V=1 |
RTS return |
ROL rotate left |
ADC A=A+M+c |
ADC B=B+M+c, |
| 0A |
CLV V=0 |
|
BPL if >= |
|
DEC M=M-1 |
ORA A=A or M |
ORA B=B or M |
| 0B |
SEV V=1 |
ABA a=a+b |
BMI if < |
RTI ret from int |
|
|
|
|
ADD A=A+M |
ADD B=B+M |
| 0C |
CLC C=0 |
|
BGE if >= |
|
INC M=M+1 |
CPX IX:M |
|
|
|
|
| 0D |
SEC C=1 |
|
BLT if < |
|
TST M:0 |
BSR call |
|
JSR call |
|
|
|
|
| 0E |
CLI I=0 |
|
BGT if > |
WAIT |
|
|
JMP |
LDS SP=M |
LDX IX=M |
| 0F |
SEI I=1 |
|
BLE if <= |
SWI interrupt |
CLR M=0 |
|
STS M=SP |
|
STX M=IX |
Sluiten