Rozdział 1.5.3.7



Rozkazy sterowania


  1. Sterowanie programem


  2. Podprogramy i przerwania


    • CALL - skok do podprogramu, zajmuje od kilku do kilkudziesięciu taktów zależnie od rodzaju argumentu, który jest adresem bliskim lub dalekim (w innym segmencie).


    • RET - powrót bliski lub daleki z podprogramu ze zdjęciem ze stosu wskaźnika programu EIP, zajmuje od 2 do 23 taktów.


    • IRET/IRETD - powrót / daleki powrót z podprogramu z przywróceniem stanu EIP, CS i EFLAGS ze stosu.


    • INT - przerwanie programowe (wywołanie podprogramu obsługi przerwania), zajmuje kilkanaście lub kilkadziesiąt taktów.


    • INTO - wywołanie podprogramu obsługi wyjątku przy nadmiarze to jest jeżeli znacznik OF=1.


  3. Operacje na znacznikach


    • STC/CLC/CMC - ustawianie/zerowanie/negowanie znacznika przeniesienia CF.


    • STD - ustawienie znacznika kierunku danych.


    • STI - ustawienie znacznika odblokowania przerwań IF .


    • CLD/STD - ustawianie znacznika kierunku danych DF na 0 / 1, dane będą ustawiane w kierunku rosnących/malejących adresów.


    • CLI - ustawienie znacznika IF zezwolenia na przerwanie na 0 / 1 .


    • CLTS - ustawienie znacznika TS ustawianego po każdym przełączeniu zadań.


    • LAHF/SAHF- przesłanie EFLAGS do AH/AH do EFLAGS .


    • PUSHF,POPF - przesłania EFLAGS między EFLAGS a stosem.


  4. Sterowanie systemem


    • HLT - zatrzymanie procesora, rozkazy nie są realizowane, wymaga resetowania lub przerwania priorytetowego.


    • WAIT - wprowadzenie w stan oczekiwania do chwili pojawienia się sygnału na odpowiedniej końcówce .


    • NOP - rozkaz pusty, zajmuje 1 takt, nie jest wykonywana żadna operacja poza zwiększeniem licznika programu o 1.


    • RSM - wznowienie pracy z trybu zarządzania systemem, zajmuje 83 takty.


    • INVD - opróżnienie pamięci podręcznej, zajmuje 15 taktów.


    • WBINVD - opróżnienie pamięci podręcznej, zajmuje kilka tysięcy taktów.


    • INVLPG - opróżnienie pamięci TLB, zajmuje 25 taktów .


    • VERR/VERW - sprawdzenie segmentu przed odczytem / zapisem, ustawia znacznik ZF, zajmuje 7 taktów.




Powrót do rozdziału 1
Powrót do strony głównej