166
5. Rozkazy mikroprocesorów 8086/8088
STI (ang. set intemipt enable flag) ustawienie znacznika przerwań
Operacja: IF «-1
Znaczniki: OF DF IF TF SF ZF AF PF CF - - 1......
Znacznik IF przyjmuje wartość jeden, co powoduje odblokowanie maskował-nych przerwań zewnętrznych procesora.
11111011
Liczba taktów - 2.
Przykład
; obsługa przerwania NMI, przerwania maskowałne są zablokowane • ••
STI; odblokowanie przerwań
IRET; powTÓt z podprogramu obsługi NMI 4
CLI (ang. elear intemipt enable flag) wyzerowanie znacznika zezwolenia na przerwanie
Operacja: IF <-0
Znaczniki: OF DF IF TF SF ZF AF PF CF
- - 0...... :]
Znacznik IF przyjmuje wartość zero, co powoduje zablokowanie maskowal-nych przerwań zewnętrznych procesora.
11111010
Liczba taktów - 2. | |
Przykład | |
CL |
; obsługa przerwania NMI, przerwania |
• •• |
; maskowałne są zablokowane |
STI |
; odblokowanie przerwań |
IRET |
; powrót z podprogramu obsługi NMI |
5.8.2. Synchronizacja zewnętrzna oraz rozkaz NOP
HLT (ang. hall until intemipt orreset) zatrzymanie procesora
Operacja: -Znaczniki: bez zmian
powered by
5.8. Rozkazy sterujÄ…ce procesorem
Rozkaz wprowadza procesor w stan zatrzymania (H ALT) i dalsze rozkazy nie są realizowane. Przejście do stanu pracy może nastąpić na skutek zerowania procesora lub sygnału przerwania priorytetowego.
11110100 Liczba taktów - 2.
Przykład
• ••
HLT ; oczekiwanie na przerwanie +
WAIT (ang. wait for TEST pin active )
wprowadzenie procesora w stan WAIT _
Operacja: -Znaczniki: bez zmian
Rozkaz wprowadza procesor w stan oczekiwania (WAIT) do chwili pojawienia się aktywnego sygnału na wyprowadzeniu TEST procesora. Stan WAIT może zostać przerwany na skutek pojawienia się przerwania (system przerwań odblokowany). Po zakończeniu podprogramu obsługi przerwania, procesor wraca do stanu WAIT. Rozkaz WAIT umożliwia synchronizację pracy procesora z układami zewnętrznymi.
1001 1011
Liczba taktów - 3 + 5*n, gdzie n określa ile razy wyprowadzenie TEST procesora zostało testowane i było nieaktywne
Przykład
WAIT 4
ESC (ang. escape to extemalprocessor)
przekazanie obsługi procesu innemu procesorowi _
Operacja: (mod* 11) => ({magistrala-danych}<-M[ea| else NOP Znaczniki: bez zmian
Rozkaz ESC umożliwia przełączanie obsługi procesu między różne procesory stanowiące system wieloprocesorowy, wykorzystywane najczęściej w systemach z koprocesorem arytmetycznym 8087. Zawartość pamięci, pod obliczonym adresem efektywnym, jest dostępna na magistrali danych i może być pobrana i przetwarzana przez jnne układy. Nie dekodowane przez procesory 8088/8086 bity w kodzie rozkazu mogą tyć wykorzystane przez zewnętrze układy (np. adres procesora w systemie wieloprocesorowym ).
1101 lxxx
mod xxx r/m