Как да използвате C код за извикване на функция събрание

F

feiutm9898

Guest
Може ли някой да ми помогне кода по-долу. Трябва да се обадя функция събрание чрез използване на C код. # Define, макро е ОК. Но има компилация грешка в главната (). -------------------------------------------------- --- 1) Да кажем, че имам една събрание кода по-долу: за GLOBAL AssemblyFun AssemblyFun: NOP; NOP;. . 2) Аз ги определят като макро аз ги определят # define C_function (невалидни) AssemblyFun за (Void) 3) аз използвам C код, за да се обадя събрание функция главната () {C_function ();} ---------- ---------------------------------------------
 
Мисля, че това е силно зависима от вашия компилатор. Обикновено когато имам нужда да се намесвам C и монтаж, пиша функция прототипа C, тогава аз компилирате източник C файла, инструктира компилатора да генерира списък събрание (ДСИ). След това можете да отворите този файл от списъка, за да видите как съставител извикате функцията събрание, и да премине параметри (например, рутинното си в ASM може да се очаква, някои променливи Tro да бъдат предадени чрез регистър, или trought стека). Тази стъпка е необходимо само за да разберете как ASM рутинна ще получи нейните параметри. След understandig как компилатор ще се намесвам с ASM рутина, показват, инструктират предварително processaor, чрез директива на компилатор (__ASM__ например, но трябва да търсите във вашия компилатор за употреба), че код, след директива ще бъде в събранието, така Процесорът не generante, синтаксис грешка.
 
Не е необходимо на макро, просто се обадете AssemblyFun (); "Ако кодовете са в отделни файлове, ще трябва да използвате файла" H ", за свързващата програма.
 

Welcome to EDABoard.com

Sponsor

Back
Top