Нужно в С++ через ассемблер решить квадратное уравнение с плавающей точкой.
Я решил только вот немогу проверить дискриминант на отрицательность....
Нужна ваша помощ
вот код моей программы
#include <iostream.h>
#include <conio.h>
void main()
{
float a=1.0;
float b=5.0;
float c=6.0;
float d=0.0;
float p=4.0,aa=2.0,x1=0.0,x2=0.0;
__asm
{
fld b
fmul b
fstp b // Haxo)I(deHue b^2
fld a
fld c
fmul
fstp c //a*c
fld c
fld p
fmul
fstp c //4*a*c
fld c
fld b
fsubr
fstp d //b^2-4*a*c
fld d
fsqrt
fstp d //sqr(d)
//x1:
fld b
fchs
fstp b //-(b^2)
fld d
fld b
fsubr //-(b^2)-sqr(d)
fstp c
fld c
fld a
fdiv //(-(b^2)-sqr(d))/a
fstp c
fld c
fld aa
fdiv //(-(b^2)-sqr(d))/(2*a)
fstp x1
//x2:
fld d
fld b
fadd //-(b^2)-sqr(d)
fstp c
fld c
fld a
fdiv //(-(b^2)-sqr(d))/a
fstp c
fld c
fld aa
fdiv //(-(b^2)-sqr(d))/(2*a)
fstp x2
}
cout<<x1<<" "<<x2;
}