assembler€86ˆ 9

assembler€86ˆ 9



118


5. Rozkazy mikroprocesorów 8086/8088

MOV AL, 8FH CBW


???? ???? 1111 1111


1000 1111 1000 1111


CWD (ang. convert word to doubleword ) zamiana słowa na podwójne słowo

0)


Operacja: AX < 15 > = 1 => (DX    0FFFFH else DX

Zvctx£vwa: pe£ £juav    i

Rozkaz zamienia liczbÄ™ 16-bitowÄ… ze znakiem, zawartÄ… w rejestrze AX, na liczbÄ™ 32-bitowÄ… ze znakiem w podwójnym rejestrze DXoAX. Konwersja sprowadza siÄ™ do zaÅ‚adowania odpowiednio wartoÅ›ci OH lub OFFFFH do rejestru DX, w zależnoÅ›ci od tego, czy liczba w rejestrze AX byÅ‚a dodatnia czy ujemna.


Liczba taktów - 5.

Przykłady

MOV AX, 90AFH

CWD

IDIV BX


DX

????H

OFFFFH


AX

90AFH

90AFH


53.5. Operacje logiczne na bitach

NOT (ang. not byte or word) negacja logiczna bajtu lub słowa

Operacja: {w = 0 => max: = 0FFH else max: = OFFFFH}; argument «- max- argument Znaczniki: bez zmian    |

Rozkaz neguje logicznie bity argumentu, czyli powoduje obliczenie uzupełnienia do 1. Argumentem może być rejestr lub argument w pamięci. Możliwe opcje

Negacja logiczna zawartości rejestru

1111 Oliw


11010 reg


Liczba taktów - 3.

Przykład

; 0101 0000 ; 1010 1111


MOV BH, 50H NOT BH

Negacja logiczna argumentu w pamięci

1111 Oliw


modOlOr/m addr Iow


addrhigh


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

5.3. Rozkazy operacji arytmetycznych i logicznych


Przykład

ZMIENNA DB 14

NOT ZMIENNA    ; ZMIENNA = -15

AND (ang. and byte or word) mnożenie logiczne bajtu lub słowa

Operacja: lewyargument «- lewy_argument A prawyargument; OF «-0; CF <- 0 Znaczniki: OF DFIF TF SF ZF AF PF CF 0 -    -    - x x ? x 0

Rozkaz realizuje logiczne mnożenie odpowiadajÄ…cych sobie bitów dwóch argumentów, które mogÄ… być bajtami lub sÅ‚owami, i umieszcza wynik w miejscu lewego argumentu. Bit wyniku przyjmuje wartość 1 tylko wtedy, kiedy odpowiadajÄ…ce sobie bity w obu argumentach sÄ… równe 1. Dopuszczalne kombinacje argumentów sÄ… okreÅ›lone w tabl. 5.8. Możliwe opcje

Mnożenie logiczne zawartoÅ›ci rejestru przez rejestr 0010 OOlw 11 reg reg Liczba taktów - 2.

Przykłady




AND DI, CX AND CL, CH AND BP, AX AND BH, AL

Mnożenie logiczne zawartoÅ›ci pamiÄ™ci przez rejestr 0010 OOlw mod rej r/m    addr Jow    addrhigh

Liczba taktów - 9 4* takty do obliczenia adresu efektywnego.

Przykłady

AND AL, ZMIENNA_BAJT[SI +1] AND CX, ZMIENNA[BX + 5]

Mnożenie logiczne zawartoÅ›ci rejestru przez pamięć >001 OOOw mod reg r/m addr low    addr high

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

Wykłady

AND ZMIENNAJBAJTJDI], BL AND ZMIENNA 2, SI AND ZMIENNA[BX + 3], AX


Wyszukiwarka

Podobne podstrony:
assembler?86? 1 142 5. Rozkazy mikroprocesorów 8086/8088 MOV AL, STD ; DF«-1 SCASB JE STOP CM
assembler?86? 4 88 5. Rozkazy mikroprocesorów 8086/8088 MOV ZMIENNAfSI], ES MOV X[BP + DI + 1], SS
assembler?86? 9 98 5. Rozkazy mikroprocesorów 8086/8088 Pojęcie rozpakowanego i normalnego kodu BC
assembler?86? 2 104 5. Rozkazy mikroprocesorów 8086/8088 Przykłady 104 5. Rozkazy mikroprocesorów
assembler?86? 9 138 5. Rozkazy mikroprocesorów 8086/8088 mentu do przetwarzania. W zależności od k
assembler?86? 2 144 5. Rozkazy mikroprocesorów 8086/8088PrzykÅ‚ad MOV AL, 20H    ; s
assembler?86? 9 158 5. Rozkazy mikroprocesorów 8086/8088PrzykÅ‚ad SUB AL, OAAH JNS DALEJ ADD B
assembler?86? 0 1 1 140 5. Rozkazy mikroprocesorów 8086/8088 MOVS CEL, ZRODLO MOV SI, OFFSET ZRODL
assembler?86? 7 94 5. Rozkazy mikroprocesorów 8086/8088 OUT DX, AX MOV DX, 7645 OUT DX, AL  &
assembler?86? 4 28 2. Mikroprocesory 8086/8088 MOV    AL,ZMIENNA BAJT[DI
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? 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? 3 106 5. Rozkazy1 mikroprocesorów 8086/8088 SBB (ang. subtract byle or word with bor
assembler?86? 4 108 5. Rozkazy mikroprocesorów 8086/8088 PrzykÅ‚ady DEC SI DEC AX    
assembler?86? 7 114    5. Rozkazy mikroprocesorów 8086/8088 Mnożenie zawartoÅ›ci aku
assembler?86? 1 122 5. Rozkazy mikroprocesorów 8086/8088 OR DX, STALA_EQU OR CL, 8   &nb

więcej podobnych podstron