-
Data: 2009-02-10 20:11:22
Temat: Re: Odczyt z rejestru w C
Od: Grzegorz Kurczyk <g...@c...usun.slupsk.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Użytkownik Paweł napisał:
> Witam !
>
> Mam chyba banalne pytanie dotyczące działania kompilatorów.
> Jeśli C mam sprawdzanie wartości rejestru uP np. w następujący sposób:
> if (rejestr==1)
> ...
> else if (rejestr==2)
> ...
> eles if (rejestr==3)
> ....
> to w praktyce wartość z rejestru będzie odczytana jeden raz czy kilka
> razy ?. Jak to będzie w przypadku instrukcji switch ?
>
> Paweł
Najprościej sprawdzić co wypluje kompilator w asm-ie.
W przypadku gdy zmienna "rejestr" będzie zadeklarowana jako volatile, to
dla ciągu instrukcji if będzie ona odczytana za każdym razem. Bez
volatile kompilator prawdopodobnie zoptymalizuje kod do pojedynczego
odczytu. Co do switch to chyba nawet przy volatile odczyt nastąpi tylko raz.
Pozdrawiam
Grzegorz
Następne wpisy z tego wątku
- 10.02.09 23:04 PcmOL
- 10.02.09 23:33 zbyszek
- 11.02.09 01:39 Adam Wysocki
- 11.02.09 01:21 Pszemol
- 11.02.09 14:13 Grzegorz Kurczyk
- 11.02.09 15:43 T.M.F.
- 11.02.09 23:45 Artur M. Piwko
- 12.02.09 08:18 J.F.
- 12.02.09 17:25 Pszemol
Najnowsze wątki z tej grupy
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
- czas na emeryturę i EB
- Generowanie sumy kontrolnej z fragmentu pliku bin
- Re: Mala autonomiczna kamera monitoringu
- HDMI
- Re: Mala autonomiczna kamera monitoringu
- Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
Najnowsze wątki
- 2024-07-01 W-wa naklejki wjazd do centrum
- 2024-07-01 ładowarka zmarła
- 2024-07-01 Koder szuka pracy. Koduję w j.: Asembler, C, C++ (z Qt) i D.
- 2024-07-01 Kraków => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-07-01 Białystok => Full Stack Web Developer (.Net Core, Angular6+) <=
- 2024-07-01 Berlin => Technical Rollouter (Radio Systems Software Installation and
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Gdańsk => Programista Full Stack .Net <=
- 2024-07-01 Zabrze => Junior HelpDesk <=
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Bielsko-Biała => Expert Migration Architect (Azure) <=
- 2024-07-01 Mini Netykieta polskich grup dyskusyjnych
- 2024-07-01 Re: Jak wypełnić polecenie francuskiego sądu blokowania niektórych zapytań DNS? Blokując Francję
- 2024-07-01 Re: Powtórne wezwanie na PO-komisję uzdrowi Ziobrę już w 10 dni
- 2024-07-01 CA -- problem z logowaniem