logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

AVRGCC wywołanie procedury assemblera

rpal 27 Sty 2009 12:59 1349 8
REKLAMA
  • #1 6061341
    rpal
    Poziom 27  
    Pytanie do kolegów używających AVRGCC, jaka jest konwencja użycia procedur i funkcji napisanych w assemblerze pod kątem ich zastosowania w C. Jak przekazuje się parametry i w jaki sposób zwraca wyniki funkcji ?
  • REKLAMA
  • REKLAMA
  • #3 6061436
    rpal
    Poziom 27  
    Ja wiem że kolega zwalcza lenistwo jednak liczyłem na bardziej "praktyczną" odpowiedź. Generalnie jakikolwiek przykład.
  • #4 6061485
    Freddie Chopin
    Specjalista - Mikrokontrolery
    pytales o konwencje, a nie o przyklad <: konwencja to konwencja, a przyklad to przyklad [;

    w swoim pliku assemblerowym definiujesz sobie etykiete, ktora bedzie nazwa funkcji, w ciele funkcji robisz sobie co ci sie podoba, pamietajac o tym, co opisane jest w rozdziale ktory wspomnialem - ktore rejestry mozesz uzyc, ktore musisz zachowac, w ktorych sa parametry, a w ktorych zwracasz wynik (w tych samych [; ). na koncu standardowe ret.

    do tego dodajesz plik naglowkowy *.h, w ktorym funkcja twoja zadeklarowana jest jako extern.

    4\/3!!
  • REKLAMA
  • #5 6061516
    rpal
    Poziom 27  
    Chyba mamy inne pliki bo na 71 są jakieś bzdety o portach. "avr-libc and assembler programs" o ten rozdział chodzi ? Bo jesli tak to nie jestem specjalnie zadowolony z tej wiedzy :)
    Tak na marginesie to te cudo jest zgodne ze standartem ANSI dotyczącym C ? Zawsze się na tym głowiłem ?
  • #6 6061553
    Freddie Chopin
    Specjalista - Mikrokontrolery
    rozdzial Frequently Asked Questions

    moj plik:
    
    avr-libc
    1.6.4
    Generated by Doxygen 1.5.6
    Thu Dec 4 10:23:19 2008
    


    twoj rozdzial jest u mnie na stronie 29.

    4\/3!!
  • #7 6061577
    rpal
    Poziom 27  
    mniejsza o to dokopałem się do jakiejś biblioteki i widzę jak to jest zrobione. Muszę przyznac że to co mnie zraża do AVR GCC to dwie sprawy deklaracje zmiennych :)
    takie cudeńka jak to np deklarowanie zmiennych w ciele procedur i funkcji zamiast na ich początku i twory jak ten uint8_t . Wiem że to szczegóły ale...
    Dzięki za przypomnienie że istnie coś takiego jak podręcznik użytkownika.
    To nie była dyskusja co jest lepsze a co nie :) Chyba można zamknać ten pos ?
  • REKLAMA
  • #8 6061605
    Freddie Chopin
    Specjalista - Mikrokontrolery
    dekloarowanie zmiennych w dowolnym miejscu to nie jest wymysl AVR GCC albo nawet GCC, tylko standard C99 (oficjalny), mozesz w opcjach kompilacji to wylaczyc (zmienic na standard C90). uint8_t to rowniez kwestia nowego standardu i nie wiem co ci w tym przeszkadza, skoro wystarczy nie dolaczac naglowka stdint.h (STanDard ...) i po sprawie.

    chcesz zamknac temat to go po prostu zamknij [;

    4\/3!!
  • #9 6061637
    rpal
    Poziom 27  
    wiek, kolego i nawyki :) PZDR
REKLAMA