-
Data: 2009-08-09 14:07:24
Temat: Re: avr-gcc - dane w flash
Od: Zbych <a...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]identyfikator: 20040501 pisze:
> dzięki! mógłbyś napisać jakiś edukacyjny programik typu zapisz do
> zmiennej w procedurze asemblerowej, wywoływanej z C? P.S. przypomniało
> mi się, te pliki *.s obowiązują w AVRstudio...
plik main.c:
#include <avr/io.h>
uint8_t zmienna;
uint8_t procedura_w_asemblerze(uint8_t arg);
void main( void ){
PORTC = procedura_w_asemblerze(PORTB);
PORTB = zmienna;
}
--------------------------------------------------
plik utils.S:
.global procedura_w_asemblerze
.global zmienna
.section .text
procedura_w_asemblerze:
; modyfikacja zmiennej globalnej
lds r25, zmienna
inc r25
sts zmienna, r25
;obróbka parametrów i zwrócenie wyniku
inc r24
ret
Zanim zaczniesz pisać procedury w asemblerze koniecznie musisz doczytać,
w jakich rejestrach przekazuje się parametry, zawartość jakich rejestrów
możesz zniszczyć, a które koniecznie musisz zwrócić nienaruszone:
http://www.nongnu.org/avr-libc/user-manual/FAQ.html#
faq_reg_usage
Do kompilacji używam standardowego makefile'a, więc pliki asemblerowe
wystarczy dopisać w linii "ASRC =" (pamiętając o dużym S w rozszerzeniu).
--
przeciez moje rozumowanie bylo bez skazy,
no sam bym wskoczyl do tego wulkanu,
ale kto by tak pieknie gwizdal...
Następne wpisy z tego wątku
- 09.08.09 14:19 identyfikator: 20040501
- 09.08.09 14:23 Zbych
- 09.08.09 16:00 identyfikator: 20040501
- 09.08.09 16:16 identyfikator: 20040501
- 09.08.09 17:15 identyfikator: 20040501
- 09.08.09 22:46 Adam Dybkowski
- 11.08.09 15:39 identyfikator: 20040501
- 11.08.09 16:44 Zbych
- 21.08.09 18:05 identyfikator: 20040501
- 21.08.09 18:04 identyfikator: 20040501
- 23.08.09 23:56 Adam Dybkowski
- 26.08.09 15:57 identyfikator: 20040501
- 27.08.09 00:39 Adam Dybkowski
Najnowsze wątki z tej grupy
- "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS
- W trakcie porwania prez. Maduro wojsko USONA użyło tajnej broni masowego rażenia: Discombobulator
- antena gsm - kabel - antena gsm
- PID - jeszcze raz
- Zlacze w mikrofonie z lat 80-tych
- Żywica żółknie od UV i wody :(
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają