Autor: Radoslaw Sokol (rsokol_at_magsoft.com.pl)
Data: Tue 03 Sep 2002 - 11:24:09 MET DST
Hi,
sprocket wrote:
>
> [...]
> (exceptions), tzn. sytuacje, kiedy mikroprocesor nie dostał(ew. sam zgłosił)
> przerwania, ale na skutek programu zachowuje się tak, jak by dostał (skok w
> tablcę wektorów itd...). Wyjątki wynikają z programu - program jest tak
> napisany - więc nie jest przerywany. Określenie przerwanie jest w tym
> przypadku niepoprawne !
Wyjątki mogą być dwojakiego typu:
1) wynikające z błędu w programie (np. dzielnie przez zero) -- takie
wyjątki zdecydowanie przerywają normalny tok programu bez jego
wiedzy i powodują wywołanie przerwania programowego
2) wyjątki wynikające z rozmyślnego wykonania instrukcji INT --
mimo, iż termin "przerwanie" w takim przypadku wydaje się
nieuzasadniony, to nadal obowiązuje; w końcu następuje normalny
skok do procedury obsługi przerwania z zapamiętaniem stanu
procesora, a poza tym następuje zmiana poziomu uprzywilejowania
kodu (co umożliwia w 32-bitowych systemach operacyjnych wywoływanie
funkcji systemowych -- syscalls -- za pośrednictwem przerwań
programowych)
Ponadto pamiętać należy, że sam mnemonik INT wywodzi się od słowa
"interrupt" :) W olbrzymiej części tekstów dotyczącej procesorów
korzysta się też z terminu "software interrupt" jako określenie
skoku do procedury obsługi przerwania wywołanego instrukcją INT.
Nie zgiodzę się więc z twierdzeniem, że określenie "przerwanie"
dla operacji wywoływanej instrukcją INT jest niepoprawne.
-- |""""""""""""""""""""""""""""""""""""""""""""""""""""""""""| | Radosław Sokół | mailto:rsokol_at_magsoft.com.pl | | | http://www.magsoft.com.pl/~rsokol/ | \................... ftp://sokol.gliwicki.necik.pl/ ......./
To archiwum zostało wygenerowane przez hypermail 2.1.7 : Wed 19 May 2004 - 01:27:04 MET DST