Chciałbym połączyć swój program w C razem z małą procedurką napisaną w a51. Jeśli po prostu dodam oba pliki (*.c, *.a51) do targetu, wyskakuje mi błąd.
Próbowałem #Pragma src, #pragma asm i #pragme endasm. Jest może inna metoda?
Z góry dzięki
Didn't find your answer? Ask the community — no account required.
M
Marek Dzwonnik
Użytkownik "Igor" snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news: snipped-for-privacy@newsgate.onet.pl
Poszukaj w "C51 primer":
formatting link
w szczególności rozdz 14 "Assembler Interfacing To C Programs"
S
swiniaczek
Są odpowiednie dyrektywy linkujące i trzeba je używać i przećwiczyć ich działanie Przykład połączenia plików w asm i c:
//---------------------------TO JEST PLIK W C---------------------- unsigned char zmienna1; unsigned char zmienna2; extern void Moja_funkcja(void);
void main(void){
zmienna1=1; zmienna2=2; Moja_funkcja(); // wywołanie funkcji z pliku Moj_kod.a51
++zmienna1; ++zmienna2; while(1); } //------------------------------------------------------------------------- ;---------------------To jest plik Moj_kod.a51---------------------------- NAME Moj_kod PUBLIC Moja_funkcja EXTRN DATA (zmienna1) EXTRN DATA (zmienna2)