108 5. Rozkazy mikroprocesorów 8086/8088
Przykłady
DEC SI
DEC BP Ä„
Odjęcie jedynki od 8-bitowego rejestru I
Liczba taktów - 3. %
Przykłady
OdjÄ™cie jedynki od argumentu w pamiÄ™ci . • â–
1111 lllw modOOlr/m addrlow addrhigh J
Liczba taktów - 15 + takty do obliczenia adresu efektywnego. W
Przykłady
DEC ZMIENNA[D1 + BX + 3]
NEC (ang. negate byte or word) , W
ncgacja^lub uzupełnienie do dwóch bajtu lub słowa J
Operacja: argument =0 => CF<-0 clse CF<—1; argument <-((-l)-argumenl); ncxl argument ^-argument + 1) â–
Znaczniki: OF DF IF TF SF ZF AF PF CF I
Rozkaz powoduje odjÄ™cie od zera (0) argumentu. Argumentem może być bajt lub sÅ‚owo. Wykonanie rozkazu jest równoznaczne z obliczeniem uzupeÅ‚nienia do dwóch dla argumentu, czyli zmiany znaku liczby caÅ‚kowitej. Jeżeli argument jest równy 0, znak nie jest zmieniany, a znacznik CF jest zerow any. Możliwe opcje â–
Negacja zawartoÅ›ci rejestru â–
Przykład
-13 (KMK) 1101
= (-14) 1111 0010
4- 1 1
= (-15) 11110011
addrhigh
Negacja argumentu w pamięci 11111 Oliw modOllr/m addr Iow
Liczba taktów - 16 + takty do obliczenia adresu efektywnego. Przykład
M()V BAJT, 0AFH; |
BAJT |
NEG BAJT ; (IFFH |
1111 1111 |
; -OAFH |
1010 1111 |
; = 50H |
0101 0000 |
; + 1H |
0000 0001 |
;= 51H |
0101 0001 |
CMP (ang. compare byte or word ) porównanie bajtów lub słów |
Operacja: lewy argument - prawyargument Znaczniki: OF DF11F TF SF ZF AF PF CF X - - - xxxxx
Rozkaz powoduje odjęcie prawego argumentu od lewego bez zachowania wyniku odejmowania. Argumenty nie zostają zmienione, a wynik porównania można określić na podstawie stanu znaczników. Oba argumenty muszą być takiego samego typu, tzn. muszą być bajtami lub słowami. Argumenty rozkazu CMP są określone w tabl. 5.8. Możliwe opcje
Porównanie zawartości dwóch rejestrów Obi 1 101w 11 reg reg j
Liczba taktów - 3.
Przykład
CMP Dl, BP CMP CX, AX CMP AL, AH CMP BL, DH
ownanie zawartości pamięci z rejestrem
5.3. Rozkazy operacji arytmetycznych i logicznych
Pon
hi 100w modregr/m Liczba taktów - 9 + takty do obliczenia adresu efektywnego.