реклама на сайте
подробности

 
 
> Правильные ASM-вставки для Keil C51, Как они выглядят?
Волощенко
сообщение Mar 30 2006, 13:19
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377



Здравствуйте, Знатоки!
У С-функции есть прототип: unsigned int Func (unsigned char);
Вызываю ее так: unsigned int w=Func(0x01);
Описание функции с помощью ASM-вставок выглядит для простоты, например, так:
void _Func (void)
{
#pragma asm ; что-то там делаю
MOV A, R7 ; ее входной аргумент в R7,
MOV R6, A ;а выходное значение возвращаю в R6,R7
RET
#pragma endasm
}


Вопросы
1. Это сделано в соответствии с http://onembedding.com/hints/hacks/asm-inline/, т.е. в описании перед названием функции Func стоит «_». Но все равно при компиляции выдается «error C231 ‘_Func’ : redefinition ». Почему?
2. Если убрать из описания «_», то вроде компилируется, все равно выдается warning L1 и L2 «». Как быть?
3. Как все же сделать ASM-вставку в С-коды правильно? smile.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 11:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01346 секунд с 7
ELECTRONIX ©2004-2016