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.

linker vier bits →00102030405060708090A0B0C0D0E0F0 rechter vier bits↓ relatieve sprong acca accb ind ext imm dir ind ext imm dir ind ext00SBA A=A-BBRA branchTSX IX=SP+1NEG M=-MSUB A=A-MSUB B=B-M01NOPCBA A:BINS SP=SP+1CMP A:MCMP B:M02 BHI if >PUL pop ASBC A=A-M-CSBC B=B-M-C03BLS if <= PUL pop BCOM M=~M04BCC if C=0DES SP=SP-1LSR shift rightAND A=A and MAND B=B and M05BCS if C=1TXS SP=IX-1BIT A:MBIT B:M06TAP CC=ATAB B=ABNE if <>PSH push AROR rotate rightLDA A=MLDA B=M07TPA A=CCTBA A=BBEQ if Z=1PSH push bASR shift rightSTA M=ASTA M=B08INX IX=IX+1BVC if V=0ASL shift leftEOR A=A xor MEOR B=B xor M09DEX IX=IX-1DAABVS if V=1RTS returnROL rotate leftADC A=A+M+cADC B=B+M+c,0ACLV V=0BPL if >= DEC M=M-1ORA A=A or MORA B=B or M0BSEV V=1ABA a=a+bBMI if <RTI ret from intADD A=A+MADD B=B+M0CCLC C=0BGE if >= INC M=M+1CPX IX:M0DSEC C=1BLT if <TST M:0BSR callJSR call0ECLI I=0BGT if >WAITJMPLDS SP=MLDX IX=M0FSEI I=1BLE if <= SWI interruptCLR M=0STS M=SPSTX M=IX

Categorie:Instructieset