Motorola 6800, MC6800, přesněji Motorola MC6800, je v informatice označení pro 8bitovýmikroprocesor firmy Motorola představený roku 1974. Mikroprocesor byl součástí mikropočítačového systému M6800, který zahrnoval obvody pro sériové a paralelní rozhraní, RAM, ROM a další podpůrné integrované obvody. Oproti mikroprocesoru Intel 8080 z téhož roku, který vyžadoval tři napájecí napětí, vystačila celá stavebnice M6800 s jedním napájecím napětím 5 V.
Mikroprocesor 6800 byl oblíbeným stavebním prvkem při konstrukci počítačových periférií, elektronických testerech a pokladníchterminálech. MC6802 uvedený na trh v roce 1977, obsahoval 128 bytovou RAM a oscilátor vnitřních hodin na čipu. Motorola vyráběla také jednočipové mikropočítače, jako MC6801 a MC6805, které obsahovaly na jediném čipuRAM, ROM a I/O, díky čemuž byly oblíbené v automobilových aplikacích.
V roce 1979 byla uveden 16bitový mikroprocesor Motorola 68000, který byl později rozšířen na 32 bitů. V roce 1999 bylo všechno co Motorola potřebovala vlastní analogovéIC.
Motorola 6800 a Intel 8080 byly navrženy současně a byly si podobné svými funkcemi. Intel 8080 byl nadmnožinou Intel 8008, který byl založený na Datapoint 2200 procesoru. Architektura 6800 byla modelovaná podle procesoru DEC PDP-11. Oba byly kompatibilní s TTL logikou, měly 8bitovou obousměrnou datovou sběrnici, 16bitový ukazatel zásobníku a 16bitovouadresní sběrnici, která dovolovala používat až 64 KiB paměti a byly dodávány v pouzdře DIP se 40 vývody. Motorola 6800 měla dva osmibitové akumulátory a 16bitový indexový registr. Režim bezprostředního adresování umožňoval rychlý přístup k prvním 256 bajtům paměti. Mikroprocesor Intel 8080 měl více interních registrů a instrukce vyhrazené pro práci s I/O porty. Zatímco Intel 8080 po resetu vynuloval čítač instrukcí a začal provádět program od adresy 0, 6800 načetla hodnotu čítače instrukcí z nejvyšší adresy a začal provádět program od této adresy. Motorola 6800 používala třístavové řízení sběrnice, což dovolovalo vyřadit ovládání adresní sběrnice procesorem a umožňovalo dalším zařízením přímý přístup do paměti. Díky tomu mohl např. řadič disku přenášet data do paměti nebo z paměti bez zatížení procesoru.
Ukázka kódu
Následující zdrojový kód v jazyce symbolických adres 6800 je procedura MEMCPY pro kopírování bloku dat zadané délky z jednoho místa v paměti na jiné.
; memcpy --; Zkopíruje blok paměti z jednoho místa na jiné.;; Vstupní parametry; cnt - Počet bytů, které se mají kopírovat; src - Adresa zdrojového bloku; dst - Adresa cílového blokucntdw$0000srcdw$0000dstdw$0000memcpypublicldabcnt+1;Nastav B = cnt.Lbeqcheck;Jestliže cnt.L=0, pak jdi na checkloopldxsrc;Nastav IX = srcldaaix;Načti A z (src)inx;Zvětši src o 1stxsrcldxdst;Nastav IX = dststaaix;Ulož A do (dst)inx;Zvětši dst o 1stxdstdecb;Odečti 1 od Bbneloop;Znovu na loopstabcnt+1;Nastav cnt.L = 0checktstcnt+0;Jestliže cnt.H=0,beqdone; pak konecdeccnt+0;Odečti 1 od cnt.Hdecb;Odečti 1 od Bbraloop;Znovu na loopdonerts;Návrat
Odkazy
Externí odkazy
Obrázky, zvuky či videa k tématu Motorola 6800 na Wikimedia Commons
Reference
V tomto článku byl použit překlad textu z článku Motorola 6800 na anglické Wikipedii.