-
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
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
- Korekcja perspektywy
- Wentylator zabija zasilacze LEDek?
- Re: Kompensacja mocy biernej przy 230VAC
- Totaliztyczny obowiązek naprawy maszyn i urządzeń
- Niby uziom ale nie
- Położyłem dwa telefony obok siebie
- Przekaźnik na szynę DIN (?)
- Taśma LED
- Jak odróżnić myjki wibrujące od ultradźwiękowych.
- Ledy na wyłączniku czasowym błyskają
- Re: Kompensacja mocy biernej przy 230VAC
Najnowsze wątki
- 2025-04-19 cena za badanie techniczne
- 2025-04-18 60letnie wierze nadawcze zostaną rozebrane!
- 2025-04-18 ",,Kometa" - nowa gwiazda na polu bitwy"
- 2025-04-18 60letnie wierze nadawcze zostaną rozebrane!
- 2025-04-18 Zakroczymiu (woj. mazowieckie) znaleźli marokańską fontannę!
- 2025-04-18 Minister Berek zapowiada "mgławicę legislacyjną"
- 2025-04-18 "Czy w 2025 roku można legalnie palić gałęzie na swojej działce?"
- 2025-04-18 "Sąd nakazał usunięcie chińskiej podróbki z targów"
- 2025-04-18 "Rozpocznie się budowa nowego, budowanego od podstaw zakładu Jelcza" !!!
- 2025-04-18 "Sąd nakazał usunięcie chińskiej podróbki z targów"
- 2025-04-18 "Rozpocznie się budowa nowego, budowanego od podstaw zakładu Jelcza" !!!
- 2025-04-18 Warszawa => International Freight Forwarder <=
- 2025-04-18 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-04-18 Prezydent "Andrzej Duda skierował ustawę o mowie nienawiści do Trybunału Konstytucyjnego"
- 2025-04-18 "Bayer przestanie produkować Roundup? Ma dość pozwów za glifosat"