[ASM] tworzenie przerwań


(Kamil Kocurek) #1

Z tego co się orientuję to przerwania są listą poleceń do wykonania po ich wywołaniu, korzystam z przerwań Dos'a więc wiem że można stworzyć własne. Nasuwa się tylko pytanie jak?

Ps. Dopiero zaczynam programować w assemblerze więc sorry za ewentualne błędy i z góry dziękuję za pomoc.


(Beniamin Gajecki) #2

Nie słyszałem nigdy że da się robić przerwania, masz listę Ralfa Browna ?


(Kamil Kocurek) #3

Przerwania raczej da się tworzyć skoro np. wcześniej wspomniany Ms-Dos oferuje własne jak np. 21h.


(Rolek0) #4

Nie, nie da się tworzyć. Na x86 jest 256 przerwań o numerach od 0 do 255. Możesz sobie podpiąć własną procedurę do odpowiedniego numeru przerwania.


(Kamil Kocurek) #5

Ok, jak nad tym pomyślałem w sumie jest to logiczne :-o , Ale jak podpiąć procedurę pod przerwanie?

Ps. Jak napisałem powyżej dopiero uczę się asm więc sorry jeżeli palnąłem jakąś straszną głupotę :smiley:


(Rolek0) #6

W trybie rzeczywistym x86 (np. pod DOSem) adresy procedur obsługi przerwań znajdują się na początku zerowego segmentu, każdy adres ma 4 bajty (w formacie segement:offset). Tablica zaczyna się w 0000:0000 i ma 1024B (4B * 256).


(Kamil Kocurek) #7

Dzięki :smiley: , A tak z innej beczki, skoro problem został rozwiązany to zna ktoś jakieś fajne IDE do ASM'a?


(fedora24x) #8

Nieda się dodawać włanych przerwań, możesz natomiast modyfikować istniejące. Tu masz coś:

http://www.ime.uz.zgora.pl/mkoziol/mcs5 ... zerwan.htm