-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: Edek <e...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: [Laik] C przerwanie dzia?ania funkcji.
Date: Fri, 30 May 2014 16:01:39 +0000 (UTC)
Organization: ATMAN - ATM S.A.
Lines: 45
Message-ID: <lmaa13$9vj$1@node1.news.atman.pl>
References: <5387149d$0$2153$65785112@news.neostrada.pl>
<g...@n...chmurka.net> <lm8gcf$f1d$1@node1.news.atman.pl>
<o...@4...com>
<53882f4e$0$2147$65785112@news.neostrada.pl>
NNTP-Posting-Host: 77-255-215-81.adsl.inetia.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1401465699 10227 77.255.215.81 (30 May 2014 16:01:39
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Fri, 30 May 2014 16:01:39 +0000 (UTC)
User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2)
Xref: news-archive.icm.edu.pl pl.comp.programming:205879
[ ukryj nagłówki ]Szarym od mżawki świtem Fri, 30 May 2014 09:12:18 +0200, Andrzej W.
wyrzucił pustą ćwiartkę i oznajmił:
> W dniu 2014-05-30 04:35, A.L. pisze:
>> Procedyra obslugi pzrerwania mzoe zmienic wartosc jakiegos elementu
>> pamieci ktory moze byc testowany przez funkcje F. W zaleznosci of tego
>> elementu pamieci funkcja F mzoe po sobie "posprzatac' Jedyny problem
>> to taki, ze jak funkcja F sie wykonuje, to nei wladomo w ktorym
>> momemncie nastapi pzrerwanie. Wiec nei da sie procedury F pzrerwac
>> natychmniast i z neij wyjsc.
>
> To jest oczywiste i czyste podejście.
> Ja chciałbym mieć coś co pozbędzie się funkcji F bez jej wiedzy i zgody.
> Czyli z funkcji obsługi przerwania wrócimy nie w miejsce w którym główny
> program został zatrzymany ale do punktu B.
> Problemem jest posprzątanie po F.
Dokładnie: można w procedurze obsługi przerwania zamiast tak jak
zazwyczaj wraca się z przerwania po prostu robić co innego. Pytanie
jest faktycznie jak posprzątać, a tu brak danych. Zazwyczaj byłoby to:
- jeżeli return adress i rejestry F są na stosie: podmienić i iret
(instrukcja bodajże 8086).
- stos wypadałoby zresetować. Przed wykonaniem F wypadałoby zapisać
SP i jakąś magiczną trampoliną po przerwaniu przywrócić SP sprzed F,
albo lepiej: zapisać sobie w znajomym miejscu rejestry i SP sprzed
wykonania F i w procedurze obsługi przerwania a) sub sb, ile-trzeba,
b) przywrócić pozstałę rejestry, c) jakoś zakończyć obsługę przerwania
- hardware: wypadałoby posprzątać wszystko co F robiła z hardware,
ale jak rozumiem przerywa się F bo coś jej i tak ze sprzętem nie idzie,
może jakiś reset? reinicjalizacja?
No a potem jak dobrze pójdzie mamy stan taki jakby F nigdy nie była
wykonana...
Wszystko co napisałem powyżej zależy też od samego CPU, mechanizmu
przerwań, reguł obsługi rejestrów, zestawu instrukcji itp.
> Wygląda na to, że ten pomysł może przynieść więcej problemów niż ich
> rozwiązać.
> Zostanę chyba przy WDT...
Tak czy inaczej bez odrobiny assemblera się nie da, chyba że przez setjmp.
--
Edek
Następne wpisy z tego wątku
- 30.05.14 20:54 A.L.
- 30.05.14 22:23 Andrzej W.
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-11 Wyważanie kół rowerowych
- 2024-11-11 Kosz, gdzie??
- 2024-11-11 Coraz mniej ludzi robi prawo jazdy
- 2024-11-11 Opole => SAP HANA Cloud Dev / Data Engineer <=
- 2024-11-11 Warszawa => Spedytor Międzynarodowy <=
- 2024-11-11 Lublin => Senior PHP Developer <=
- 2024-11-11 Marki => Senior PHP Symfony Developer <=
- 2024-11-11 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-11 Gliwice => Specjalista ds. public relations <=
- 2024-11-11 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-11 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-11-11 Warszawa => Sales Development Representative (in German) <=
- 2024-11-11 Marsz niepodległości
- 2024-11-08 Belka
- 2024-11-09 pierdolec na punkcie psa