c míchání s montáží

A

akub3

Guest
Ahoj, já jsem v současné době provádí některé algoritmy na mikrokontroléru. Jsem pomocí PIC18f452. Jsem však problémy s voláním c funkcí z assembleru. Následuje část mého kódu: auto char recvd_coord, / / souřadnice přij. hov auto char current_coord, / / aktuální souřadnice extern unsigned char perform_xaveraging (char auto, auto char b); void main (void) {char auto p, p = perform_xaveraging (recvd_coord, current_coord);} / * funkce vykonávat průměrně výpočtu * / unsigned char extern perform_xaverageing (char auto, auto char b) {char z okolí auto, pokud (current_coord> POSITIVE_XERR_RANGE | | current_coord
 
Nikdy jsem použít PIC ale ... Míchání montáž a vyšší úrovně jazyka vyžaduje programátor být vědomi toho, jak vysoké úrovni jazyka staví do fronty pro volání a léčí návratové hodnoty. Některé verze C podporovat char na integer bez znaménka volání funkce, ale toto může být 16bit mikroprocesor věc. na jiných strojích, některé verze C vyžadují nebo převzít některé registry poukazují na určité datové struktury (číslo řádku pult pro runtime chyby, například), pokud zadáváte C program kdekoliv, ale přes main (void) Funkce musíte být vědomi tohoto
 
Udělat program C s voláním perform_xaveraging. Platnost C kompilátor pro generování assembleru výstup a zkontrolovat, jak argumenty (char auto, auto char b) jsou umístěny na zásobníku (nebo jiným způsobem). Nyní učinit totéž v assembleru. Tom
 
Ahoj kluci, díky za připomínky. teď to funguje dobře
 

Welcome to EDABoard.com

Sponsor

Back
Top