Witam bardzo. W
tym wątku zaintrygowała mnie wypowiedź Mirka:
mirekk36 napisał(a):
pozbądź się specyfikatora volatile dla tablic, bo dla tablic nie trzeba. [...] chodzi o to, że dostęp do tablicy musi być i tak zawsze realizowany w asemblerze w oparciu o pary rejestrów indeksowych i nie da się tego zoptymalizować jak dostępu do pojedynczej zmiennej, którą można wrzucić w pojedynczy rejestr i już
Coś się zmieniło w tej materii? Bo mam taki kod np.:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i w listingu dostaję (kompilacja dla megi16, Os):
język asm
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Na moje oko kompilator darował sobie odczyty z pamięci i zrobił właśnie to, o czym Mirek pisał, że kompilator niby nie powinien.
Po dodaniu wolatila do tablicy kod jest bez zastrzeżeń:
język asm
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Więc jak to w końcu jest z tymi ulotnymi tablicami?