KEIL - Łączenie kodu w c i a51

Cześć,

Mam następujący problem:

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

Reply to
Igor
Loading thread data ...

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"

Reply to
Marek Dzwonnik

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)

Moj_kod SEGMENT CODE

RSEG Moj_kod

Moja_funkcja: MOV A,zmienna1; MOV A,zmienna2; ret;

end; ;---------------------------------------------------------------------------

----

pozdrawiam: radek

Użytkownik "Igor" snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news: snipped-for-privacy@newsgate.onet.pl...

Reply to
swiniaczek

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.