Úgy értettem, hogy az LDI nem feltétlenül lenne gyorsabb, mint 16 ciklus, mert a +2 ciklus idő az utasítás végén valószínűleg a DE növelése miatt nem volt elkerülhető. A BC csökkentését pedig más műveletekkel párhuzamosan (pl. (HL) olvasása közben) is el lehet végezni.
Aha, hat ezt nem tudom ... Az biztos, hogy egy normal 16 bites osszeadas/kivonas az kegyetlen lassu Z80-on, de mint megtudtam valojaban 4 bites ALU-ja van, tehat annyira nem meglepo. Gondolom, azert olyan helyeken ahol vmit eggyel csokkenteni vagy novelni kell (INC/DEC jellegu dolgok) azt nyilvan nem az ALU-n at csinalja, mert kulonben az LDI szuper lassu lenne, arrol nem is beszelve, hogy a PC-t is novelni kell ugye "eleg gyakran" mas opcode-oknal is
A PC novelesere tenylegesen szoktak kulon inkrementalot beepiteni es az ALU-t nem bizeralni, esetleg INC/DEC op-okra is, de az LDI azert volt nekem gyanus, mert ott azert osszesen harom regiszternel van inc/dec mikozben megcsinalja. Bar akkor ezek szerint, nem kell ezt a harmat egyszerre csinalnia, parhuzamosithatja is oket mas muveletekkel, akkor meg igazad lehet, es sokat nem oszt, nem szoroz. Azert nekem az x86 megkozelites sem tunik tul rossznak, hogy van pl kulon REP "utasitas" es vegulis tobb mindent is moge irhatsz. Igaz, igy a kod lassabb lesz. Lehet az LDIR is lassabb lenne ilyen formaban, abba a 21-16=5 ciklusba valszeg nem ferne bele, a legelemibb utasitas (NOP) is 4 ugye ...