relativně snadno bylo možné implementovat interpret Forthu
No… slůvko „relativně“ je zde opravdu poměrně důležité. :-) Ona to totiž v praxi zas taková legrace není, jak by se na první pohled mohlo zdát. Jednak jde o harvardskou architekturu, což samo o sobě představuje pro Forth spíše určitou komplikaci a nutnost různých kliček a obezliček (dvojí typ paměťových operátorů apod.), a jednak dost chybí 16bitové registry nebo aspoň vhodné adresovací režimy pro efektivní práci s 8bitovými registry. V podstatě se dá říci, že prakticky libovolná jiná architektura je Forthu více nakloněna, než tato. Ani já osobně jsem těmto procesorům nikdy nepřišel na chuť. To, že se dodnes prosazují jako procesorová jádra různých řadičů, je pro inženýra spíše za trest. Pokud jde o mikrořadič 8048/51 jako takový, tak naštěstí díky firmám Microchip a Atmel se mu člověk už skoro 20 let může vyhýbat. ;-) (Motorolu a Zilog nepočítám – těm dvěma výše zmiňovaným jsem vděčen za to, že jako první dokázaly za Intely dodat na náš trh cenově i maloobchodně dostupnou, o třídu lepší náhradu, včetně solidního IDE zdarma; ovšem motorolácké i zilogácké mikrořadiče byly také o třídu lepší, než Intel). To, že mezi 8bitovými mikrořadiči 8051 dodnes dominuje, je jedním z příkladů, že nejrozšířenější != nejlepší.
Ono to rozšíření architektury MCS-51 nejspíš také souvisí s určitou dejme tomu konvenčností inženýrů, kteří mikrořadiče ve svých zařízeních používají. Prostě to s „padesát jedničkou vždycky fungovalo“, tak proč ji nepoužít, on to programátor nějak zbastlí (což zase z naší strany nemusí být špatné zakázky :-)
Možná to také souvisí s tím, že Intel prostě byl první a platilo mikroprocesor/MCU=Intel, podobně jako před pár lety platilo mobil=Nokia nebo v určité ztracené oblasti IT taktéž OS=DOS :-)
K tomu Forthu a adresování: je pravda, že se Forth musel na 8051 ohýbat, ale je to Forth, ten je na takové věci připravenej mnohem víc nez jiné jazyky :-)
Zásobník operandů bylo možné adresovat například přes R0 (resp. @R0), ale je pravda, že i pitomé slovo + znamenalo přesuny operandu do akumulátoru atd. atd. Pro tyto účely, tj. implementaci Forthu by asi byla nejlepší 6809 předělaná na mikrořadič :-)
A to jsou problémy Forthu IMHO ještě nic oproti problémům při implementaci céčka na 51 :-)
AVRka nejsou vůbec špatný (ostatně jsou taky o dost novější než 51), prostě RISC se všemi výhodami a nevýhodami.
„V podstatě se dá říci, že prakticky libovolná jiná architektura je Forthu více nakloněna, než tato.“
…což mi připomíná, že se budu muset zmínit o F21 CPU a MuP21, aby se pořád nemluvilo jen o čipech se statisíci a miliony tranzistorů, ale také o těchto zázracích se 7000 resp. 15000 tranzistory, které toho umí docela dost :-)