assembler€86ˆ 6

assembler€86ˆ 6



92    5. Rozkazy mikroprocesorów 8086/8088

Zamiana miejscami zawartości rejestru z zawartością pamięci

1000 Oliw modregr/m addrlow    addrhigh

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

Przykłady

XCHG CL, ZMIENNA BAJT

XCHG ZMIENNASLOWO, CX    i

XCHG AH, ZMIENNA[BP -Å‚- 2]

XCHG WORD PTR [DI], SI    *

XLAT, XLATB (ang. translate by te )    1

pobranie bajtu z tablicy do rejestru AL

Operacja: {w AL - indeks elementu, w BX - offset tablicy} AL <- M[BX 4- AL] Znaczniki: bez zmian

Jeżeli przed wykonaniem rozkazu w akumulatorze AL znajduje siÄ™ indeks elementu pewnej tablicy bajtów, a w rejestrze BX offset pierwszego elementu tej tablicy, to wykonanie rozkazu powoduje pobranie wskazanego indeksem elementu do akumulatora AL. Tablica nie może być wiÄ™ksza niż 256 bajtów.

11010111    |

Liczba taktów -11.    M

Przykład

MOV AL, INDEKS

MOV BX, OFFSET    TABLICA    j

XLAT TABLICA

•••

MOV AL, INDEKS    INNY ; BX nie zmienione    j

XLATB    +

522. Wprowadzanie i wyprowadzanie danych

IN (ang. input byte or word )    J

wprowadzenie bajtu lub słowa z układu wejściowego

Operacja: zob. opcje Znaczniki: bez zmian

Rozkaz powoduje wprowadzenie bajtu lub sÅ‚owa z ukÅ‚adu wejÅ›ciowego do akumulatora, odpowiednio AL lub AX. Adres ukÅ‚adu wejÅ›ciowego może być pobrany z rejestru DX, może być też okreÅ›lony drugim bajtem rozkazu (stanowi wtedy wartość bezpoÅ›redniÄ…). W pierwszym przypadku adres może być 16-bitowy, w drugim zaÅ› 8 bitowy. Możliwe opcje

powered by

5.2. Rozkazy transmisji danych


Mi stoi

Adres układu wejściowego określony zawartością rejestru DX Operacja: (w = 0) => AL <- Wc[DX] else AX *- We[DX]

1110 110w_

Liczba taktów - 8.

Przykłady

ADRES EQU 04AE7H MOV DX, ADRES IN AX, DX MOV DX, 1234H

IN AL, DX    +

Adres układu wejściowego jest wartością bezpośrednią Operacja: (w = 0) => AL *- We[PC +1] else AX We[PC + 1]

1110 OlOw portaddr

Liczba taktów -10.    ?mi 9' **

Przykłady

ADRES EOU 108 IN AX, ADRES

IN AL, 255    +

OUT (ang. output byte or word)

wyprowadzenie bajtu lub słowa do układu wyjściowego

Operacja: zobacz opcje Znaczniki: bez zmian

Rozkaz powoduje wyprowadzenie z akumulatora, odpowiednio AL lub AX, bajtu lub sÅ‚owa do ukÅ‚adu wyjÅ›ciowego. Adres ukÅ‚adu wyjÅ›ciowego jest pobierany 7 rejestru DX lub też jest okreÅ›lony drugim bajtem rozkazu (wartość bezpoÅ›rednia).

W pierwszym przypadku adres może być 16-bitowy, w drugim zaś 8-bitowy.

Możliwe opcje

Adres układu wyjściowego określony zawartością rejestru DX Operacja: (w = 0) => Wy(DX] «-AL else Wy[DX] «-AX

[moinw

Llczba taktów - 8.

Pr^klady

ADRES EQU 0FF00H MOV DX, ADRES


Wyszukiwarka

Podobne podstrony:
assembler?86? 6 152 5. Rozkazy mikroprocesorów 8086/8088 next SP+-SP + datahighodatalow
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? 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? 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? 9 118 5. Rozkazy mikroprocesorów 8086/8088 MOV AL, 8FH CBW ???? ???? 1111 1111 1000
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? 6 132 5. Rozkazy mikroprocesorów 8086/8088PrzykÅ‚ad y MOV CL, 12 ROL BX, CL ROL
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

więcej podobnych podstron