assembler€86ˆ 1

assembler€86ˆ 1



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

0100 Oreg    I

Liczba taktów - 2.    I

Przykłady

INC DI    I

INC BP

INC BX    +

Dodanie jedynki do 8-bitowego rejestru    1

1111 1110    11000 reg    J

Liczba taktów - 3.    J|

Przykłady

INC AH    jl

INC DH    j

INC AL    Å‚

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

PrzykÅ‚ady    J

INC ZMIENNA BAJT    1

INC BYTE PTR [DI + 1]    jl

INC ZMIENNA[SI]    1

INC ZMIENNASLOWO    â™¦

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.

oon om

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.


Wyszukiwarka

Podobne podstrony:
assembler?86? 1 82 5. Rozkazy mikroprocesorów 8086/8088 kod rozkazu (ang. opcode ) - definiuje ope
assembler?86? 3 126    5. Rozkazy mikroprocesorów 808618088 SHL DX, 1 SHL DI, 1 Arg
assembler?86? 6 112 5. Rozkazy mikroprocesorów 808618088 0010 ‘ 1111
assembler?86? 1 122 5. Rozkazy mikroprocesorów 8086/8088 OR DX, STALA_EQU OR CL, 8   &nb
assembler?86? 1 142 5. Rozkazy mikroprocesorów 8086/8088 MOV AL, STD ; DF«-1 SCASB JE STOP CM
assembler?86? 7 154 5. Rozkazy mikroprocesorów 808618088 Wskaźniki: bez zmian Jeżeli wskaźnik ZF =
assembler?86? 1 162 5. Rozkazy mikroprocesorów 8086/8088 INT - skok do podprogramu obsługi przerwa
assembler?86? 4 168 5. Rozkazy mikroprocesorów 808618088 przy czym .ca* - 3 bity nie dekodowane pr
assembler?86? 2 164    5. Rozkazy mikroprocesorów 80S6/8088 STD - ustawienie znaczn
assembler?86? 8 116 5. Rozkazy mikroprocesorów 8086088 IDIV (ang. integer divide byte or word ) dz
assembler?86? 4 128 5. Rozkazy mikroprocesorów 8086/8088 Przesunięcie logiczne w prawo o 1 bit 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? 5 W 90    5. Rozkazy mikroprocesorów 8086/8088 PrzykÅ‚ady PUSH ZMIENNA
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
assembler?86? 0 100 5. Rozkazy mikroprocesorów 8086/80X8 ADD SI, 0F0D2H ADD BL, 1   &nbs

więcej podobnych podstron