Лабораторна робота № 3. Робота з сопроцесором
Aggregazione dei criteri
Aperto: martedì, 2 maggio 2023, 00:00
Data limite: sabato, 20 maggio 2023, 00:00
Ознайомтесь з методичними вказівками стор.50-55 для виконання контесту на онлайн платформі https://yun.net.ua/ "асемблер. Сопроцесор".
Приклад програми для розрахунку середнього арифметичного у вигляді асемблерної вставки у С-програми:
#include <stdio.h>
using namespace std;
int main()
{
double x, y, s; //x,y - дійсні числа, s-середнє арифметичне
int n=2;
scanf ("%lf %lf", &x, &y);
__asm__
(
"fild %3;\n" //ST0 <- n
"fld %1;\n" //ST0 <- x, ST1 <- n
"fadd %2;\n" // ST0= ST0 + y
"fdiv st(1);\n" // ST0=ST0:ST1
"fstp %0;\n" //s <- ST0
:"=m"(s) // s-%0
:"m"(x), "m"(y), "m"(n) //x-%1, y-%2, n-%3
:"memory", "st"
);
printf("%.3lf", s);
return 0;
}
- 2 maggio 2023, 12:46