daa

daa nebo DAA je instrukce procesorů Intel 8080 a Z80. Instrukce provádí desítkovou korekci po operacích sčítání a odčítání operandů ve formátu BCD.[1] Instrukce daa je nejspíše nejkomplikovanější a v oficiální dokumentaci nejhůře popsaná instrukce procesoru Z80.[2]

Instrukce procesoru Z80

Kód instrukce
76543210
1. byte00100111

Kód instrukce daa je jednobytový, jeho hodnota je 39 desítkově a 27 šestnáctkově. Vykonání instrukce vyžaduje jeden M-cyklus a trvá čtyři T-cykly.[3][4]

Instrukce upravuje hodnotu v registru A podle stavu příznaku odečítání N, příznaku přenosu C a příznaku polovičního přenosu H a ovlivňuje příznak přenosu C.[3]

Odpovídající instrukce v instrukční sadě procesoru Intel 8080 je stejnojmenná instrukce DAA.[5]

Reference

  1. VILÍM, Tomáš. Assembler a ZX Spectrum, 1. díl. Ústí nad Labem: Proxima - Software, 1992. 
  2. TIŠNOVSKÝ, Pavel. Zobrazení čísel a zpracování příznaků mikroprocesoru Zilog Z80. root.cz [online]. 2023-04-04 [cit. 2023-04-06]. Dostupné online. 
  3. a b ZAKS, Rodnay. Programming the Z80. [s.l.]: Sybex, 1981. 624 s. (Third edition). Dostupné online. ISBN 0-89588-094-6. S. 424. ((anglicky))  Poznámka: Odkazovaný soubor má desky z jiného vydání knihy, které navíc vyšlo i pod jiným názvem a s jiným ISBN
  4. 8ビット CPU Z80命令セット [online]. Rev. 2019-09-15 [cit. 2023-04-06]. Dostupné online. ((japonsky)) 
  5. DURDA, Frank. 8080/Z80 Instruction Set [online]. [cit. 2023-04-06]. Kapitola Special Accumulator and Flag Instructions. Dostupné v archivu pořízeném dne 2016-02-11. ((anglicky))