Programowanie w języku Assembler

Instrukcje procesorów rodziny 80x86 (D)


DAA Decimal Adjust for Addition
Użycie DAA
Modyfikowane flagi AF CF PF SF ZF (OF nieokreślony)
Poprawia wynik (w AL) ostaniej operacji dodawania liczb w systemie BCD. Zawartość AL jest zamieniana na parę cyfr w systemie BCD.
  Liczba cykli zegara Rozmiar
Parametry 808x 286 386 486 Bajtów
Brak 4 3 4 2 1


DAS Decimal Adjust for Subtraction
Użycie DAS
Modyfikowane flagi AF CF PF SF ZF (OF nieokreślony)
Poprawia wynik (w AL) ostaniej operacji odejmowania liczb w systemie BCD. Zawartość AL jest zamieniana na parę cyfr w systemie BCD.
  Liczba cykli zegara Rozmiar
Parametry 808x 286 386 486 Bajtów
Brak 4 3 4 2 1


DEC Decrement
Użycie DEC dest
Modyfikowane flagi AF OF PF SF ZF
Dekrementacja (dest := dest -1 )
  Liczba cykli zegara Rozmiar
Parametry 808x 286 386 486 Bajtów
Reg8 3 2 2 1 2
Mem 15+EA 7 6 3 2-4
Reg16/32 3 2 2 1 1


DIV Divide
Użycie DIV src
Modyfikowane flagi (AF,CF,OF,PF,SF,ZF nieokreślone)
Dzielenie liczb bez znaku. Zawartość akumulatora jest dzielona przez src. Zależnie od rozmiaru dzielnika dzielna, iloraz i reszta znajdują się w następujących rejestrach:
Dzielnik (rozmiar)DzielnaIlorazReszta
ByteAXALAH
WordDX:AXAXDX
DWordEDX:EAXEAXEDX
  Liczba cykli zegara Rozmiar
Parametry 808x 286 386 486 Bajtów
reg8 80-90 14 14 16 2
reg16 144-162 22 22 24 2
reg32 - - 38 40 2
mem8 (86-96)+EA 17 17 16 2-4
mem16 (150-168)+EA 25 25 24 2-4 (W88=158-176+EA)
mem32 - - 41 40 2-4


Autorzy:
Dryobates
LKS
Vogel
Wirek