Hlavní navigace

Názor k článku Programovací jazyky z vývojářského pekla od Petr M - Z80 je na tom ve srovnání s 8051...

  • Článek je starý, nové názory již nelze přidávat.
  • 29. 4. 2016 12:26

    Petr M (neregistrovaný)

    Z80 je na tom ve srovnání s 8051 po stránce ASM dobře. Na to, že železo odvozovalo z I8080.

    - Je tam pár registrů navíc. Mimo A, B, C, D, E, H, L, (HL), [F], [SP], [PC] jsou tam i speciální registry I, R, IX a IY
    - Je tam k dispozici souvislých 64kB pro RAM a ROM a 256B pro periferie (ty se dají hodit i do paměťovýho prostoru, když na věc přijde). Bez omezení RAM na 128B, bez nutnosti do dalších 128B přistupovat nepřímo, bez prohazování registrů pro indexování paměti, s větším zásobníkem,...
    - Bonus v podobě dvou index registrů IX a IY pro adresování (instrukce je přičetla k A a použila jako adresu do RAMky): LD B, (IX + A) apod.
    - Booleovský procesor pracuje jenom s registrama. Ale vzhledem k tomu, že osmý registr je (HL), tak v podstatě obsáhne v jedné 16b instrkci (0xcb, 0xněco) prostor 65 543B (samozřejmě za cenu dvou cyklů ext. sběrnice + 2B instrukce, ale je to rychlejší, než načtení do registru, tam kombinování s konstantou a vracení zpět).
    - Dá se zrychlit přerušení a šetřit zásobník, místo několika PUSH a POP jde prostě použít EXX a EX AF
    - Je tam o dost zajímavější systém přerušení, tabulka vektorů kdekoliv v RAMce s podporou I registru. Většinou se ale nevyužíval, u nás tam cpali klony I8059A :(

    A rozdíl je v tom, že Z80 nemá na sobě periferky a ty si člověk namapoval podle sebe. Ne tak, aby nějakýmu ožralovi vybraný SFR vyšly na bitově adresovatelný místo.