Odp: Protokół XBRA
Śmiem się nie zgodzić, po to jest właśnie volatile, żeby kompilator wiedział że dostęp ma efekty uboczne i nie może go optymalizować. Taki 'pusty' zapis w C może nie przetrwać agresywnej optymalizacji.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Silly Venture 2024 SE - stuff Dostępny jest już stuff z zeszłomiesięcznego party Silly Venture 2024
FujiCup FujiCup ma na celu wspieranie sceny gier retro, dając uczestnikom szansę na pokazanie swojego talentu
Echa Silly Venture 2024 SE Są już dostępne wyniki Silly Venture 2024 SE
Uaktualnienie firmware do The400 Poprawki do "fizycznego" emulatora ośmiobitowych komputerów i konsol Atari.
Akcja - Wsparcie w reverse-engineering Wspierajmy tych, którzy do tej pory zrobili wiele!
Strony Poprzednia 1 2
Zaloguj się lub zarejestruj by napisać odpowiedź
Śmiem się nie zgodzić, po to jest właśnie volatile, żeby kompilator wiedział że dostęp ma efekty uboczne i nie może go optymalizować. Taki 'pusty' zapis w C może nie przetrwać agresywnej optymalizacji.
Ale jaki pusty? Masz adres i masz wartość, którą chcesz pod ten adres zapisać. W takim razie co nie jest 'pustym' zapisem? Wszędzie w kodzie mam wstawiać volatile?
Nie wszystko. Jeżeli jednak kompilator nie widzi akcesów po zapisie to może sobie ten zapis wyoptymalizować. Nie mówię że koniecznie tak się stanie, ale dla świętego spokoju volatile bym tam dał.
No właśnie nie może. Robisz zapis do pamięci i w pamięci znajdzie się taka wartość jaka powinna się tam ostatecznie znaleźć. Jedyne co robi volatile to wymuszeniena na kompilatorze, żeby wykonać KAŻDY access do tego samego adresu.
Chyba nie ... to zależy od optymalizacji jakiej dokonuje kompilator ... http://www.open-std.org/jtc1/sc22/wg14/ … /n1956.htm
Zapis też jest accesem. Jak kompilator zdecyduje się coś wyoptymalizować do rejestrów, to nie będzie zapisu do pamięci, nawet jak będziesz używał wskaźnika.
@artik-wroc zrób ten zapis i odczyt pamięci / rejestrów w asmie
będzie po problemie
Dzisiaj będę walczył. Myślę ,że już wiem, co tam może nie działać.
Poprzednim razem udało się i przerwania zadziałały :)
Odkurzam temat, gdyż chciałbym zapytać jak to odnieść do Hadesa jeśli, siedzą tam dwa układy MFP.
Ten który mnie interesuje (obsługujący ISA) znajduje się pod adresem $FFFFFA00-A3F, wszystkie przerwania z każdego slotu ISA są połączone i idą właśnie do MFP. Z pierwszego slotu do pinu 28 (I/O3), z drugiego do 32 (I/O7).
Przerwanie MFP ma priorytet 6, ale tu są dwa MFP. Jak to ugryźć ?
nie znam architektury Hadesa, nie wiem też gdzie można znaleźć dokumenty o niej.
Ale być może jest tak ja w TT, czyli jak nie potrzebujesz drugiego MFP to go nie używasz.
Co do pinów to z tego co widzę to pin 28 to GPIO-6 a pin 32 to Interrupt Request
Co do pinów to z tego co widzę to pin 28 to GPIO-6 a pin 32 to Interrupt Request
Też tak myślałem, ale to są układy PLCC.
http://tho-otto.de/hypview/hypview.cgi? … ;index=467
Strony Poprzednia 1 2
Zaloguj się lub zarejestruj by napisać odpowiedź
[ Wygenerowano w 0.071 sekund, wykonano 11 zapytań ]