assembler86 9

assembler86 9



98 5. Rozkazy mikroprocesorów 8086/8088

Pojęcie rozpakowanego i normalnego kodu BCD wyjaśniono w p. 2.4.

Rozkazy logiczne, działające na bitach

NOT -negacja logiczna bajtu lub słowa,

AND -iloczyn logiczny bajtów lub słów,    j

OR    -suma logiczna bajtów lub słów,    'm

XOR -nierównoważność bajtów lub słów,    ^1

TEST -testowanie (porównanie logiczne) bajtów lub słów.    -

Rozkazy przesunięć

SHL    - przesunięcie logicznie w lewo bajtu lub słowa,    ,

SAL    -przesunięcie arytmetycznie w lewo bajtu lub słowa,    j

SHR    -przesunięcie logicznie w prawo bajtu lub słowa,    \

SAR    -przesunięcie arytmetycznie w prawo bajtu lub słowa,    ]

ROL    -przesunięcie cyklicznie w lewo bajtu lub słowa,    •

ROR    -przesunięcie cyklicznie w prawo bajtu lub słowa,    J

RCL    -przesunięcie cyklicznie z przeniesieniem w lewo bajtu    lub słowa,    1

RCR    -przesunięcie cyklicznie z przeniesieniem w lewo bajtu    lub słowa.    .J

53.1. Dodawanie

ADD (ang. add byte or word)    /fl

dodanie bajtów lub słów bez przeniesienia    _

Operacja: lewy argument lewy_argument + prawyargument    3

Znaczniki: OF DFIF TF SF ZF AF PF CF    1

X - - - XXX XX    j

Rozkaz realizuje dodawanie arytmetyczne dwóch argumentów, które mogą być bajtami lub słowami i umieszcza wynik w miejscu lewego argumentu. Oba argumenty powinny być liczbami dwójkowymi ze znakiem lub bez znaku (zob. AAA i DAA). Kombinacje argumentów przedstawiono w tabl. 5.8.    3

Tablica 5.8. Dopuszczalne kombinacje argumentów

Lewyargument

Rejestr

Prawyargument

Rejestr

segmentowy

Pamięć

Wartość 1 bezpośrednia

Rejestr

tak

nic

tak

tak

Rejestr segmentowy

nie

nie

nie

nie

Pamięć

tak

nie

nie

tak

Możliwe opcje

Dodanie bez przeniesienia zawartości rejestru do rejestru 0000 OOlw 11 reg reg

Liczba taktów - 3.

przykłady

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

Dodanie bez przeniesienia zawartości pamięci do rejestni

addrhigh j


OTO


001W


mod reg r/m addrlow


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

Przykłady

ADD AH, ZMIENNA_BAJT[SI] ADD SI, ZMIENNA 2 ADD BX, ZMIENNA[BX +5]

Dodanie bez przeniesienia zawartości rejestni do pamięci 0000 OOOw mod reg r/m addr low    addr high

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

Przykłady

ADD ZMIENNA_BAJT[SI], AH ADD ZMIENNA 2, SI ADD ZMIENNA[BX + 5], BX

Dodanie bez przeniesienia wartości bezpośredniej do akumulatora

0000 OlOw datalow datahigh

Liczba taktów - 4.

Przykłady

ADD AX, 45670D ADD AX, STAŁA 2 ADD AL, 0D2H ADD AL, 1

Dodanie bez przeniesienia wartości bezpośredniej do rejestru

[1000 OOsw 11000 reg data low

datahigh

Liczba taktów - 4. Wykłady

ADD AH, -8 ADD CX, STALA 2


Wyszukiwarka

Podobne podstrony:
assembler?86? 9 118 5. Rozkazy mikroprocesorów 8086/8088 MOV AL, 8FH CBW ???? ???? 1111 1111 1000
assembler?86? 9 138 5. Rozkazy mikroprocesorów 8086/8088 mentu do przetwarzania. W zależności od k
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? 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? 2 104 5. Rozkazy mikroprocesorów 8086/8088 Przykłady 104 5. Rozkazy mikroprocesorów
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
assembler?86? 2 124 5. Rozkazy mikroprocesorów 8086/8088 Rozkaz realizuje logiczne mnożenie odpowi
assembler?86? 4 128 5. Rozkazy mikroprocesorów 8086/8088 Przesunięcie logiczne w prawo o 1 bit Ope
assembler?86? 5 130 5. Rozkazy mikroprocesorów 8086/8088 Przykłady SAR ZMIENNA, 1 SAR BAJT[BP +1],
assembler?86? 7 134 5. Rozkazy mikroprocesorów 8086/8088 Przykłady MOVCL, 11 ROR ZMIENNA[BP], CL
assembler?86? 8 136 5. Rozkazy mikroprocesorów 8086/8088 Rozkaz realizuje przesunięcie cykliczne w
assembler?86? 0 1 1 140 5. Rozkazy mikroprocesorów 8086/8088 MOVS CEL, ZRODLO MOV SI, OFFSET ZRODL

więcej podobnych podstron