86
5. Rozkazy mikroprocesorów 8086/8088
LES - załadowanie adresu logicznego do wskazanego rejestru oraz do ES.
Rozkazy związane z rejestrem znaczników
LAHF - załadowanie jednego bajtu słowa znaczników do rejestru AH, *1
SAHF - załadowanie zawartości rejestru AH do rejestru znaczników, ]
FUSHF - przesłanie rejestru znaczników na szczyt stosu,
POPF - pobranie znaczników ze szczytu stosu.
Wymienione rozkazy (z wyjątkiem POPF i SAHF) nie zmieniają stanu znaczników, i 52.1. Transmisja danych między rejestrami i pamięcią
MOV (ang. move) J
przesłanie bajtu lub słowa
Operacja: lewyargument prawyargument
Znaczniki: bez zmian f
Rozkaz powoduje przesłanie zawartości prawego argumentu do lewego argumentu. Argumentami mogą być rejestry, pamięć lub wartość bezpośrednia. Kombinacje argumentów przedstawiono w labl. 5.6.
Tablica 5.6. Dopuszczalne kombinacje argumentów
Źródło (prawyargument) |
Rejestr |
Przeznaczenie (lewy argument) Rejestr segmentowy (bez CS) |
Pamięć |
Rejestr |
tak * |
tak |
tak J |
Rejestr segmentowy |
tak |
nie |
tak |
Pamięć |
tak |
tak |
nie |
Wartość bezpośrednia |
tak |
nie |
tak |
Możliwe opcje
Przesłanie zawartości akumulatora do pamięci
przy czym: w = 0 - przesłanie bajtu z AL, w = 1 - przesłanie słowa z AX. 1
Liczba taktów -10 4- takty do obliczenia adresu efektywnego. J
MOV ZMIENNA 2[BXJ[DI + 5], AX ♦
Przesłanie zawartości pamięci do akumulatora \
1010 OOOw addrlow addr high ] |
przy czym: w = 0 - przesłanie bajtu do AL, w = 1 - przesłanie słowa do AX.
Liczba taktów -10 + takty do obliczenia adresu efektywnego.
5.2. Rozkazy transmisji danych Przykłady
powered by
Mi sfbl
♦
MOV AX, ZMIENNA l
MOV AL, TABBAJT
MOV AX, ZMIENNA_2[BX][DI + 5]
Przesłanie zawartości rejestru do rejestru segmentowego
przy czym Sreg ^ 01 (^ CS). Liczba taktów - 2.
Przykłady
♦
MOV ES, AX MOV SS, BP MOV DS, BX
Przesłanie zawartości pamięci do rejestru segmentowego 10001110 modOSregreg addrlow addrhigh
przy czym Sreg x 01 ( ^ CS).
Liczba taktów - 8 + takty do obliczenia adresu efektywnego.
Przykłady
MOV ES, [BX + 4]
♦
MOV DS, ZMIENNA2 MOV SS, ZMIENNA 2[BP]
Przesłanie zawartości rejestru segmentowego do rejestru
1000 1100 110 Sreg reg
Liczba taktów - 2.
Przykłady
MOV AX, DS MOV BP, SS MOV DX, ES MOV BX, CS
Przesłanie zawartości rejestru segmentowego do pamięci
[ 1000 1100 modO Sreg r/m addr_low addrhigh
Liczba taktów - 9 + takty do obliczenia adresu efektywnego.
Okłady
MOV [BX + 2], DS MOV ZMIENNA, CS