У С-функции есть прототип: 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-вставку в С-коды правильно?
