DAA - dekadické nastavení po sečtení

Z Delphi & Pascal (česká wiki)
Verze z 9. 11. 2012, 17:01, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (Vytvorená stránka „;Instrukce : DAA - dekadické nastavení po sečtení ;Časování : 3 (80286), 4 (80386) ;Popis : Instrukce DAA by mela být používaná jen po sečtení dvou sb...“)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání
Instrukce
DAA - dekadické nastavení po sečtení
Časování
3 (80286), 4 (80386)
Popis
Instrukce DAA by mela být používaná jen po sečtení dvou sbalených BCD operandů. DAA konvertuje výsledek v AL do sbaleného dekadického tvaru podle nasledujícich pravidel:
  • Je-li nižší čtverice bytů v AL větší než 9 nebo je nastaven CF, je AL inkrementován o 6 a nastaven AF; jinak je AF nulován.
  • Je-li (následkem predchozí operace) výsledek větší než 9FH nebo je CF = 1, je AL inkrementován o 60H a CF je nastaven do jedné; jinak je CF nulován.


Syntaxe
DAA (žádné operandy)


Ovlivňuje příznaky
AF, CF, SF, ZF, PF


Nedefinované příznaky
OF


Příklad
 MOV     AL,08
 ADD     AL,03     ; Vysledek v AL je OBH
 DAA               ; Vysledek v AL je 11H