WinAVR i adres zmiennej

Aug 21, 2006 2 Replies

Witamm, Nie często zdarza mi się pisać wstawki asemblerowe i utknąłem. Prosze o pomoc.



W 'C' mam zadeklarowaną zmienną volatile u08 tablica[100];



Potrzebuję naprawdę szybkie i krótkie przerwanie. Więc piszę je w asemblerze. Jak do rejestru X,Y, czy Z załadować adres (pointer) do tej tablicy?



Pozdr. Marek


W dniu 21-08-2006 10:29, Marek P. napisał:

Nie jestem pewien tego rozwiązania, ale WinAVR pozwala chyba na taką konstrukcję:

u08 *wskaznik @r26;

i dalej

wskaznik = tablica;

Po prostu spróbuj stworzyć zmienną, która zostanie na siłę przechowywana w rejestrze X, Y lub Z i wepchaj do niej adres tej tablicy.

Użytkownik Krzysiek napisał:

Witam, Dziękuję za pomoc, Ale znalazłem właśnie lepsze rozwiązanie na avrfreaks :). Dokladnie to czego szukałem. ldi r24,lo8(zmienna) ldi r25,hi8(zmienna) pozdr Marek

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required