102
5. Rozkazy mikroprocesorów 808618088
Operacja: argument <- argument + 1
Znaczniki: OF DFIF TF SF ZF AF PF CF f I
x---xxxx-
Rozkaz dodaje jedynkę do argumentu, który może być bajtem lub słowem. Argument jest traktowany jak liczba bez znaku (zob. AAA i DAA). Możliwe opcje
Dodanie jedynki do 16-bitowego rejestru
Przykłady
INC BP
Dodanie jedynki do 8-bitowego rejestru 1
Przykłady
Dodanie jedynki do argumentu w pamięci M
1111 Ulw modOOOr/m addrlow addrhigh J
Liczba taktów -15 + takty do obliczenia adresu efektywnego. fl
INC BYTE PTR [DI + 1] jl
AAA (ang. ASCII adjust for addition ) i
poprawka po dodawaniu dwójkowym w rozpakowanym kodzie BCD _ _
5.3. Rozkazy operacji arytmetycznych i logicznych
Jeżeli cztery mniej znaczące bity akumulatora AL są większe niż 9 lub znacznik AF = 1, to do AL jest dodawane 6, a do AH jest dodawane 1. Cztery bardziej znaczące bity akumulatora AL zostają wyzerowane, znaczniki AF i CF przyjmują wartość 1. Jeżeli mniej znaczące 4 bity AL nie były większe od 9 i znacznik AF = 0, to nie jest wykonywana żadna operacja.
Liczba taktów - 4.
Przykłady
AH |
AL | |||
MOV AX, 4 |
00000 0000 |
4 |
0000 0100 | |
ADD AL, 8 |
8 |
0000 1000 | ||
« • ł 1 • |
0000 0000 |
0000 1100 AL<3:0> >9! | ||
AAA ; |
+ 1 |
0000 0000 |
6 |
0000 0110 |
« < |
= |
0000 0001 |
0001 0010 | |
4 < 1 ( MOV AX, 9 |
,AND 0 |
0000 0001 0000 0000 |
9 |
0000 1111 0000 0010! 0000 1001 |
ADD AL, 8 |
+ 8 |
00001000 | ||
Å‚ |
= |
0000 0000 |
0001 0001 ;AF=1 ! | |
+ 1 |
0000 0001 |
6 |
0000 0110 | |
= |
0000 0001 |
0001 0111 | ||
AND |
00001111 | |||
= |
0000 0001 |
0000 0111! |
DAA (ang. decimal adjust foraddition )
poprawka dziesiętna po dodawaniu dwójkowym w kodzie BCD
Operacja: (AL A OFH > 9) V (AF = 1) => (AL«-AL + 6; AF^-1; next (AL>9FH) v (CF = 1) => AL<-AL + 60H; CF^l)
Znaczniki: OF DF IF TF SF ZF AF PF CF
?---xxxxx
Jeżeli cztery mniej znaczące bity akumlatora AL są większe niż 9 lub znacznik ^sl» to do AL zostaje dodane 6, a znacznik AF przyjmuje wartość 1. Jeśli po tej operacji AL jest większe niż 9FH lub znacznik przeniesienia CF przyjął wartość 1, to 0 Emulatora AL zostaje dodana wartość 60H i znacznik CF = 1. Jeżeli przed wygnaniem rozkazu DAA cztery mniej znaczące bity AL nie były mniejsze niż 9 i znacz-nr^F = Q>n*e Jest wykonywana żadna operacja.
0010 0111
Llczba taktów - 4.