|
1й пункт можно побороть хитростью
2й пункт - ну а что же вы хотели, если объявили функцию, которая должна возвращать значения. Победить можно тоже хитростью.
Вот как побеждаю хитростью я (но это грязный хак!)
// int my_abs(int) - получение модуля целого числа (2 байта)
void _my_abs(void)
{
#pragma ASM
mov a, r6
jb acc.7, c_0688
retc_0688:
clr C
clr a
subb a, r7
mov r7, a
clr a
subb a, r6
mov r6, a
ret
#pragma ENDASM
}
А взаголовочном файле эта функция объявлена как:
int my_abs(int); // получение модуля целого числа (2 байта)
E-mail: info@telesys.ru