|
ASM_Modules, Микширование Си и Ассемблера |
|
|
|
 |
Ответов
|
Aug 9 2006, 08:16
|
Знающий
   
Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422

|
Цитата(zltigo @ Aug 9 2006, 12:00)  Цитата(addi @ Aug 9 2006, 10:50)  Подскате
Постарайтесь более четко сформулировать вопрос. Я знаю только один способ вставки ассемблерного кода - вставка строки, т.е: asm(" ; \n " " ;EXTRN EEPROMWriteV \n " " ;EXTRN EEPROMReadV \n "); Но у меня очнь много ассемблерного кода, который надо с микшировать с Си. Не знаю как. ????
|
|
|
|
|
Aug 9 2006, 09:42
|
Знающий
   
Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422

|
Цитата(zltigo @ Aug 9 2006, 12:21)  Цитата(addi @ Aug 9 2006, 11:16)  микшировать с Си.
Если "много", то, естественно, отдельный ASM файл -> Assembler -> Linker Пробовал подключать отдельным asm файлом через include(#include <asms.s>), компилятор ругаеться. Также пробовал без include: Project->AddFiles->asms.s, - ни какой реакции, что без него что с ним. ???
|
|
|
|
|
Aug 9 2006, 10:13
|
Местный
  
Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219

|
Цитата(addi @ Aug 9 2006, 12:42)  Цитата(zltigo @ Aug 9 2006, 12:21)  Цитата(addi @ Aug 9 2006, 11:16)  микшировать с Си.
Если "много", то, естественно, отдельный ASM файл -> Assembler -> Linker Пробовал подключать отдельным asm файлом через include(#include <asms.s>), компилятор ругаеться. Также пробовал без include: Project->AddFiles->asms.s, - ни какой реакции, что без него что с ним. ??? Ну, так тут все очень просто. Прежде всего, нужно определить ассемблерные функции как глобальные, типа: Код public fname fname: ; Точка входа в функцию fname ....... Во-вторых, в заголовочном файле *.h написать прототип: Код void fname(void); И наконец, если Ваши ассемблерные функции имеют параметры и/или возвращают данные определенного типа, Вы должны написать их на ассемблере в соответствии с правилами, описанными в разделе руководству по компилятору, посвященному использованию ассемблерных функций. Там написано каким образом предаются параметры в функцию, в каких регистрах возвращается результат, какие регистры используются компилятором и не должны изменяться функциями и т.д. и т.п. Следуйте этим правилам, и у Вас все получится. Успеха!
|
|
|
|
Сообщений в этой теме
addi ASM_Modules Aug 9 2006, 07:50     addi Цитата(_Bill @ Aug 9 2006, 14:13) Цитата(... Aug 9 2006, 12:22      _Bill Цитата(addi @ Aug 9 2006, 15:22) А где их... Aug 9 2006, 12:50       addi Цитата(_Bill @ Aug 9 2006, 16:50) Цитата(... Aug 9 2006, 12:55 vet Ассемблерные исходники обрабатываются, соответстве... Aug 9 2006, 09:49 addi Цитата(vet @ Aug 9 2006, 13:49) Ассемблер... Aug 9 2006, 10:11 addi Подскажите пожалйста как подключать Ассемблерные м... Aug 11 2006, 06:09 zltigo Цитата(addi @ Aug 11 2006, 09:09) Подскаж... Aug 11 2006, 07:35 big256 Цитата(addi @ Aug 11 2006, 09:09) Подскаж... Aug 14 2006, 10:18
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|