Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
спз маріна на друк.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
904 Кб
Скачать
☆

Додаток б

Лістинг динамічної бібліотеки DLL

#include <windows.h>

extern "C" __declspec(dllexport) float Calc(float X){

float Y(0);

float A(0), B(12), C(24), D(10), E(3), F(30), G(1), H(2), K(0);

_asm { Finit

Fld C; //ST(3)

Fld B; //ST(2)

Fld A; //ST(1)

Fld X; //ST(0)

Fcomi ST(0), ST(1)

jbe REZ_I;

Fcomi ST(0), ST(2)

je REZ_II;

Fcomi ST(0), ST(3)

je REZ_III;

jmp EXIT

REZ_I:

Finit;

Fld K;//ST(3) = 0

Fld E;//ST(3) = 3

Fld D;//ST(2) = 10

Fld X;//ST(1)

Fld Y;//ST(0)

Fadd ST(0), ST(3)

Fadd ST(0), ST(1)

Fxch ST(4)

Fadd ST(0), ST(2)

Fmul ST(0), ST(1)

Fdiv ST(0), ST(4)

Fst Y;

jmp EXIT

REZ_II:

Finit;

Fld K;//ST(3) = 0

Fld G;//ST(3) = 1

Fld F;//ST(2) = 30

Fld X;//ST(1)

Fld Y;//ST(0)

Fadd ST(0), ST(3)

Fsub ST(0), ST(1)

Fxch ST(4)

Fadd ST(0), ST(1)

Fmul ST(0), ST(1)

Fmul ST(0), ST(1)

Fmul ST(0), ST(2)

Fdiv ST(0), ST(4)

Fst Y;

jmp EXIT

REZ_III:

Finit;

Fld H;//ST(1)

Fld Y;//ST(0)

Fadd ST(0), ST(1)

Fst Y;

jmp EXIT

EXIT:

} return Y; }