[an error occurred while processing this directive] [an error occurred while processing this directive]
Подскажите, please, как правильно в Keil C51 описать функцию, написанную на asm и которая вызывалась бы из C
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено oleg 22 января 2002 г. 14:59

Если ее описать примитивно просто, как С-шную, а внутри ассемблерный код, непример:
bit my_asm_func(unsigned char x, *p)
{
#asm
....;
....;
ret
#endasm
}
то Keil ругается, что будто его входные параметры не используются, хотя я их в коде забираю как положено, из R7 и указатель из R4&R5,
да и возвращаемое значение в перенос кладу,а ему это невдомек. Да и дополнительный наворот получается, т.к. С51 лишний раз копирует входные параметры, что совершенно лишнее.
Кому не лень показать маленький примерчик, чтобы я увидел, как нужно делать?

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru