Академический Документы
Профессиональный Документы
Культура Документы
Кафедра ЭВМ
Лабораторная работа №2
тема: “Блок вычислений с плавающей точкой FPU X87”
Вариант 5
Выполнили: Проверил:
ст. гр. КИ-15-6: Сумцов Д. В.
Погудин О.А.
Лободенко Г.Я.
Чугай В.А.
Харьков 2018
1. Цель работы
Углубление и закрепление знаний архитектуры блока вычислений с
плавающей точкой FPU x87; получение практических навыков по составлению
программ для FPU x87 на языке ассемблера, их отладке и выполнению.
2. Варианты заданий
2.1 Вычислить 6 значений функции Y = (20 * x) /(5 * x2 – 8,5) (x
изменяется от 1 с шагом 4). Результат разместить в памяти.
2.2 Задан массив с элементами a(i) = sin (5 * i). Определить номер
элемента массива, при котором сумма элементов превысит 3. Аргумент синуса
задан в градусах.
2.3 Исследование выполнения команд с обратными тригономет-
рическими функциями. Вычислить одно значение функции Y = 5 * arcSec (3 *
(tg 70°)2). Параметры аргументов выбирать с учетом области определения.
Результат перевести в градусы.
2.4 Вычислить 5 значений функции Y = 3 * log8(x2 +1), x изменяется от 0,2
с шагом 0,3.
long A = 20, B = 5;
float C = 8.5;
_asm
{
mov EBX, 0;
m1: finit;
; fldz;
inc i;
fild X;
fldpi;
fmul;
fidiv K;
fimul i;
fsin;
fld SUM;
fadd ST, ST(1);
fst SUM;
fst A[EBX];
add EBX, 4;
ficom P;
fstsw AX;
sahf;
jc m1;
} // окончание ассемблерной вставки
}
_asm {;
finit;
fldpi;
fimul A;
fidiv D;
fptan;
fstp st;
; fdiv;
fmul ST, ST;
fimul C; 3 * (tg 70°) ^ 2
fld ST;
fabs;
fisub V;
fsqrt;
fxch;
fabs;
fiadd V;
fsqrt;
; fdiv;
fpatan;
fimul J;
fimul B;
fldpi;
fdiv;
fimul D;
fstp Y;
} // окончание ассемблерной вставки
}
long A = 1;
Вывод
Углубились и закрепили знания архитектуры блока вычислений с
плавающей точкой FPU x87; получили практические навыки по составлению
программ для FPU x87 на языке ассемблера, их отладке и выполнению.