assembler86 5

assembler86 5



110 5. Rozkazy mikroprocesorów H0H6/H08S

Przykład

CMP ZMIENNA, AX CMP ZMIENNA[BX], DI CMP BAJT, CL CMP Z 123[DI + BP +1], BX

Porównanie zawartości rejestru z argumentem w pamięci 0011 lOlw mod reg r/m

Liczba taktów - 9 + takty do obliczenia adresu efektywnego. Przykład

CMP AX, ZMIENNA CMP SI, ZMIENNA[BX]

CMP CL, BAJTjBPJ CMP DX, Z_80

Porównanie zawartości akumulatora z wartością bezpośrednią 0011 llOw    datalow    datahigh

Liczba taktów - 4.

Przykłady

CMP AL, 10H CMP AX, STALAEOU CMP AX, -1 CMP AL, 0

Porównanie zawartości rejestru z wartością bezpośrednią 1000 OOsw    11 111 reg    datalow    datahigh

Liczba taktów - 4.

Przykłady

CMP AH,7

CMP CL, JEDEN EOU CMP SI, 0

CMP BH, 01010101B

data


Porównanie argumentu w pamięci z wartością bezpośrednią 1000 Olsw mod 111 r/m addr low addr high data low

Liczba taktów -10 + takty do obliczenia adresu efektywnego.

5.3. Rozkazy operacji arytmetycznych i logicznych Przykłady

CMP ZMIENNA[SI +9], O CMP ZMIENNA2, STAŁA EQU

AAS (ang. ASCII adjusl forsubtraction )

poprawka po odejmowaniu dwójkowym w rozpakowanym kodzie BCD

Operacja: (AL AOFH >9) V (AF= 1) => (AL**-AL~6; AH«-AH-1; AF^-1; CF^-1; next AL<-AL A OFH)

Znaczniki: OF DFIF TF SF ZF AF PF CF

9 ...    9 9 v 9 v

•    •    •    A    «    A

Jeżeli cztery mniej znaczące bity akumulatora AL są większe niż 9 lub znacznik AF = 1, to od AL jest odejmowane 6, a od AH jest odejmowane 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.

0011 1111

Liczba taktów - 4.

Przykład

MOV AX, 7 ;

AH

0000 0000

7

AL

0000 0111

SUB AL, 9;

-9

00001001

• — » )

AAS ; -1

0000 0001

-6

11111110

AL<3:0> >9 aAF=1 0000 0110

;=(-D

1111 1111

11111000

*

AND

00001111

y

11111111

00001000 4

DAS (ang. decimal adjusl for subtraction )

poprawka dziesiętna po odejmowaniu 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«-1)

Znaczniki: OF DF IF TF SF ZF AF PF CF

?    -    -    - X X X X X

Jeżeli cztery mniej znaczące bity akumlatora AL są większe niż 9 lub znacznik AF= 1, to od AL zostaje odjęte 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 od akumulatora AL zostaje odjęta wartość 60H i znacznik CF = 1. Jeżeli przed wykonaniem rozkazu DAS cztery mniej znaczące bity AL nic były mniejsze niż 9 i znacznik AF = 0, to nie jest wykonywana żadna operacja.


Wyszukiwarka

Podobne podstrony:
assembler?86? 5 W 90    5. Rozkazy mikroprocesorów 8086/8088 Przykłady PUSH ZMIENNA
assembler?86? 5 130 5. Rozkazy mikroprocesorów 8086/8088 Przykłady SAR ZMIENNA, 1 SAR BAJT[BP +1],
assembler?86? 2 104 5. Rozkazy mikroprocesorów 8086/8088 Przykłady 104 5. Rozkazy mikroprocesorów
assembler?86? 4 108 5. Rozkazy mikroprocesorów 8086/8088 Przykłady DEC SI DEC AX    
assembler?86? 7 134 5. Rozkazy mikroprocesorów 8086/8088 Przykłady MOVCL, 11 ROR ZMIENNA[BP], CL
assembler?86? 5 150 5. Rozkazy mikroprocesorów 8086/8088 RET (ang. return from procedurę) powrót z
assembler?86? 5 170 5. Rozkazy mikroprocesorów 8086/8088 Mikroprocesor 80286 W (rybie adresacji rz
assembler?86? 9 158 5. Rozkazy mikroprocesorów 8086/8088Przykład SUB AL, OAAH JNS DALEJ ADD B
assembler?86? 8 % 5. Rozkazy> mikroprocesorów 8086/8088 Przykład LA HF NOT AH SAHF; znaczniki s
assembler?86? 3 146    5. Rozkazy mikroprocesorów 8086/8088 Tablica 5.11. Przykłado
assembler?86? 2 164    5. Rozkazy mikroprocesorów 80S6/8088 STD - ustawienie znaczn
assembler?86? 5 3. Kolejne generacje mikroprocesorów firmy INTEL Szybki rozwój technologii wytwarz
assembler?86? 1 82 5. Rozkazy mikroprocesorów 8086/8088 kod rozkazu (ang. opcode ) - definiuje ope
assembler?86? 2 84 5. Rozkazy mikroprocesorów 8086/8088 Pośrednio przez rejestr bazowy i indeksowy
assembler?86? 3 86 5. Rozkazy mikroprocesorów 8086/8088 LES - załadowanie adresu logicznego do wsk
assembler?86? 4 88 5. Rozkazy mikroprocesorów 8086/8088 MOV ZMIENNAfSI], ES MOV X[BP + DI + 1], SS
assembler?86? 6 92    5. Rozkazy mikroprocesorów 8086/8088 Zamiana miejscami zawart
assembler?86? 9 98 5. Rozkazy mikroprocesorów 8086/8088 Pojęcie rozpakowanego i normalnego kodu BC

więcej podobnych podstron