Odpovídáte na názor k článku Specifika instrukční sady mikroprocesorů Intel 8086/8088 (2). Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.
Pěkně se ta série rozrůstá. :)
Opět nějaké opravy v textu:
* 3. Instrukce XLAT
Oprava:
Tato instrukce dokáže načíst hodnotu z adresy DS:[BX+AL] a uložit výsledek opět do registru AL.
* 4. BCD aritmetika na čipech Intel 8086/8088
Oprava:
V tomto případě osmibitové registry obsahují buď pouze jednu cifru (tj. hodnotu 0–9 z možného rozsahu 0–256)
* 7. Instrukce DAS po provedení operace rozdílu
Oprava: příklad používá instrukce "daa" místo "das"
* 14. Varianty řetězcových a blokových operací
CLD nastaví příznak DF pro určení směru přenosu nahoru
STD nastaví příznak DF pro určení směru přenosu dolů
V tabulce všude vypadly hranaté závorky s registry SI/DI, tj. DS:[SI] nebo ES:[DI]
* 15. Zápis několika po sobě jdoucích znaků do řetězce
Oprava:
- 4. Pětkrát zopakujeme instrukci STOSB, která vlastně provede mov ES:[DI], AL + inc DI [tedy DI, ne AL]
* 16. Vylepšení předchozího příkladu: opakování instrukce STOSB CX-krát
Vloudila se vrána:
- 5. Spustíme instrukci REP STOSB, která vlastně CX-krák^H^H^H^Hkrát provede mov ES:[DI], AL + inc DI [opět ne AL]
* Jako bonus, který z pochopitelných důvodů není uveden v článku, existuje "magická sekvence instrukcí", která z bytu (0-15) v AL vyrobí přímo ASCII kód odpovídající hexadecimální číslici ('0'-'F') v AL bez použití převodní tabulky:
add al,90h
daa
adc al,40h
daa
Odvození jak to funguje ponechávám jako cvičení na laskavém čtenáři.
17. 9. 2024, 03:23 editováno autorem komentáře