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

 
 
> вопрос по ассемблеру
Malyshko
сообщение Dec 15 2010, 15:31
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 20-11-10
Пользователь №: 61 033



asm
finit
fld const1 {0.55 }
fld x {x 0.55}
fmul {x*0.55 0.55}
fldl2e {log2e x*0.55}
fmul {x*0.275*log2e x*0.55}
f2xm1 {2^p-1 x*0.55}
fadd one {2^p x*0.55}
fst xp
fld xp {xp 2^p}
fmul
fst xp1

вопрос в следующем: мне нужно получить exp(2.75*x), команда f2xm1 возводит в степень -1<X<1. Поэтому я представил
exp(0.55*x), и собирался позвести это в 5 степень, с помощью fmul. В этом-то и вся загвоздка, в конечном выводе у меня получается NAN. Как с этим бороться? sm.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Malyshko
сообщение Dec 16 2010, 15:11
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 20-11-10
Пользователь №: 61 033



Код
procedure FPP(xin: single;var yout: single);
var x,xp,xp1,xp3,xp4,xp5,xp6,xp7,xp2,y,const1,const2,one,two: single;
begin
     one:=1.0000;
     two:=2.0000;
     const1:=0.55;
     x:=xin;
     y:=0.0;
     asm
     finit
     fld xin
     fld xin
     fmul st(0),st(1)
     fmul st(0),st(1)
     fsqrt
     fsqrt
     fst xp1  {x^0.75}

     fld xp1 {koren' iz 1-z v xp2}
     fchs
     fadd one
     fsqrt
     fst xp2

     fld xp1
     fadd one
     fsqrt
     fst xp3

     fld xp2
     fld xp3
     fpatan {arctg(x)^0.75}
     fmul two
     fst xp4 {arccos}

     fld xin
     fmul const1
     fldl2e
     fmul st(0),st(1)
     f2xm1
     fadd one
     fst xp5

     finit

     fld xp5
     fld xp5
     fmul st(0),st(1)
     fmul st(0),st(1)
     fmul st(0),st(1)
     fmul st(0),st(1)
     fst xp6

     fld xp6
     fld xp4
     fmul st(0),st(1)
     fst xp7

end;
     yout:=xp7;
end;


вот мой готовый вариант, если кто заинтересуется. Все оказалось намного проще...
Go to the top of the page
 
+Quote Post



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

 


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


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