Добавил:
Kaz
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лаба 7 Лабораторная работа 7 (МПиМК) / main
.cpp#include <stdio.h>
#include <math.h>
#include <conio.h>
#define M_PI 3.1415926535897932384626433832795
double func_asm(double x, double y);
double func_cpp(double x, double y);
int main(void)
{
//double x = 12152.78456,y = 43.1546,z0,z1;
double x ,y ,z0,z1;
printf("VVEDITE DANNYE: ");
scanf("%lf%lf", &x, &y);
z0 = func_asm(x,y);
z1 = func_cpp(x,y);
printf("\nasm = %.20lf\ncpp = %.20lf\n", z0, z1);
return 0;
}
double func_asm(double x, double y)
{
double six = 6.0, two = 2.0, one = 1.0;
double z, temp;
__asm{
finit
fldpi
fdiv six
fld x
fsub st(0),st(1)
fcos
fmul two
fld y
fsin
fld st(0)
fmul st(0),st(1)
fdiv st(2),st(0)
fxch st(2)
fst temp
finit
fld x
fld x
fmul st(0),st(1)
fld y
fld y
fmul st(0),st(1)
fld one
fsub st(0),st(1)
fdiv st(3),st(0)
fxch st(3)
fld one
fadd st(0),st(1)
fld temp
fmul st(0),st(1)
fst z
}
return z;
}
double func_cpp(double x, double y)
{
double z0, z1;
z0 = 2*cos(x - M_PI/6)/(sin(y)*sin(y));
z1 = x*x;
z1 /= (1 - y*y);
z1 += 1.0;
z1 *= z0;
return z1;
}