W
90 5. Rozkazy mikroprocesorów 8086/8088
Przykłady
PUSH ZMIENNA SLOWO
PUSH WORD PTR [BX + DI + 11 *
POP (&ng. pop word off stack ) pobranie słowa ze szczytu stosu
Operacja: argument M[SP + l]oM[SP]; ncxt SP«- SP + 2 i
Znaczniki: bez zmian
Ze szczytu stosu adresowanego przez rejestr SP jest pobrane słowo, przesłane następnie w miejsce określone argumentem. Rejestr SP zostaje zwiększony o 2, wskazując kolejny element stosu. Możliwe opcje m
Pobranie słowa ze szczytu stosu do rejestru
01011 reg Jj
Przykłady
POP DX i
Pobranie słowa ze szczytu stosu do rejestru segmentowego
przy czym: Sreg * 01 (* CS).
Przykłady
Pobranie słowa ze szczytu stosu do pamięci 10001111 modOOOr/m addrlow addrhigh
Liczba taktów -17 + takty do obliczenia adresu efektywnego.
Przykład
POP ZMIENNAJ2 POP ZMIENNAfDI] POP WORD PTR (BP)
Ipowered by
XCHG (ang. exchange byle or word) zamiana miejscami bajtów lub słów
Operacja: lewyargument prawyargument; prawyargument <- lewyargument Znaczniki: bez zmian
Rozkaz powoduje zamianę zawartości obu argumentów, które mogą być bajtem lub słowem. Zawartość lewego argumentu jest zapamiętana początkowo w wewnętrznym rejestrze roboczym. Następnie zawartość prawego argumentu Zostaje przesłana do lewego argumentu, a zawartość rejestru roboczego do prawego argumentu. Kombinacje argumentów przedstawiono w tabl. 5.7.
Tablica 5.7. Dopuszczalne kombinacje argumentów
Lewy^afgument |
Rejestr |
Prawy argument rejestr segmentowy |
Pamięć | |
Rejestr |
tak |
nie |
tak | |
Rejestr segmentowy |
nie |
nie |
nie | |
Pamięć |
tak |
nic |
nie |
Możliwe opcje
Zamiana miejscami zawartości rejestru z zawartością akumulatora AX 1001 0 regj Liczba taktów - 3.
Przykłady
XCHG AX, BX XCHG SI, AX XCHG AX, BP XCHG BX, AX
XCHG AX, AX ; NOP -1001 0000 XCHG AX, DX
Zamiana miejscami zawartości jednego rejeslm z zawartością dmgiego rejestru 1000 Oliw 11 reg reg
Liczba taktów - 4.
Przykłady
XCHG AL, AH XCHG BH, CL XCHG BX, DI XCHG SI, DI XCHG BX, CX XCHG AH, DH