Есть фунции cos,sin написана на ASM как правильно организовать передачу параметров - вызывается из С
и возвращает значение
что-то типа
#include ......
double cos (double );
double sin (double );
void main(void)
{
double ( *( *masfun() ) ) (double);
double X=0.5,y;
char i;
masfun =( double( * (*) ) (double) ) calloc ( 2, sizeof ( double( * (*) ) (double) ) );
masfun[0]=cos;
masfun[1]=sin;
for(i=0;i<2;i++)
{
y=masfun(x);
send(y);
,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,
}
.................
}
ASM AVR передача параметров в программу на С или наоборот
- Реклама
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: ASM AVR передача параметров в программу на С или наобор
Никаких отличий в вызове функции нет. Ваш пример можно сделать так:
Код: Выделить всё
double sin(double x);
double cos(double x);
double (*mas[]) (double) = {sin, cos};
int main(void)
{
double y, x = 0.5;
while(1)
{
for(i = 0; i < 2; i++)
{
y = mas[i] (x);
send(y);
}
}
}
Re: ASM AVR передача параметров в программу на С или наобор
Как передавать параметры в каких регистрах ?
Куда ложить цифры в формате double в асемблерном коде ?
или куда загружать ссылку в какие регистры ?
Мне нужны правила передачи параметров ( в каких регистрах что храниться ) чтобы правильно выполнять вызовы подпрограмм на asm
Куда ложить цифры в формате double в асемблерном коде ?
или куда загружать ссылку в какие регистры ?
Мне нужны правила передачи параметров ( в каких регистрах что храниться ) чтобы правильно выполнять вызовы подпрограмм на asm
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: ASM AVR передача параметров в программу на С или наобор
Вот тут все описано.
- Вложения
-
- Asm&Ci.pdf
- (36.62 КБ) 509 скачиваний
- Реклама

