0 / 0 / 0
Регистрация: 08.07.2020
Сообщений: 25
1

Реализовать вычисление указанных формул в виде ассемблерных вставок в текст программы на С++

11.07.2020, 19:25. Показов 1234. Ответов 2
Метки нет (Все метки)

Реализовать вычисление указанных формул в виде ассемблерных вставок в текст программы на С++. Вычисления осуществлять в вещественных числах типа double (использовать регистры процессора и стек).
Объявление необходимых переменных, ввод данных и вывод результатов на экран реализовать на С++. Для проверки правильности вычисления ассемблерной вставки реализовать вычисления на С++ с выводом результатов на экран.
Программа должна выводить на экран фамилию и имя разработчика, номер задания и номер варианта.
xy + y3 (в кубе) + х3 (в кубе)
корень (нижнее подчеркивание)
х2 (квадрате) - 2xy+y2 ( в квадрате)
 Комментарий модератора 
https://www.cyberforum.ru/cgi-bin/latex.cgi?xy+{y}^{3}+{x}^{3}\sqrt{{x}^{2}-2xy+{y}^{2}}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.07.2020, 19:25
Ответы с готовыми решениями:

Использование ассемблерных вставок
эта тема о тех задачах которые сложно/невозможно решить на Си++ без использования ассемблерных...

Программа на паскале с использованием ассемблерных вставок
Очень нужна помощь. Нужен код, написанный на языке паскаля с применением ассемблерных вставок и в...

Оптимизировать hello, world без ассемблерных вставок
Доброго времени суток. Цель - оптимизировать hello, world без ассемблерных вставок. Насколько я...

Использование ассемблерных вставок для работы с вектором
Народ помогите исправить ошибку, отметил строчку в коде!!! #include <vector> #include <iostream>...

2
0 / 0 / 0
Регистрация: 08.07.2020
Сообщений: 25
13.07.2020, 06:35  [ТС] 2
Актуально
0
191 / 90 / 33
Регистрация: 04.11.2013
Сообщений: 472
Записей в блоге: 4
13.07.2020, 12:52 3
Лучший ответ Сообщение было отмечено Dmitriy02 как решение

Решение

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <iostream>
#include <cmath>
 
int main()
{
    std::cout << "Hello World!\n";
 
    double x = 5.0;
    double y = 2.0;
    double a = 2.0;
    double xx = 0.0;
    double xy = 0.0;
    double xy2 = 0.0;
    double yy = 0.0;
    double xxx = 0.0;
    double yyy = 0.0;
    double  xx2xy = 0.0;
    double  yy2xy = 0.0;
    double  sqrtyy2xy = 0.0;
    double  xxxsqrtyy2xy = 0.0;
    double  yyyxxxsqrtyy2xy = 0.0;
    double  xyyyyxxxsqrtyy2xy = 0.0;
 
    std::cout << "x \n";
    std::cin >> x;
    std::cout << "y \n";
    std::cin >> y;
 
 
    __asm
    {
        fld x
        fld x
        fmul st(0), st(1)
        fst xx
        fmul st(0), st(1)
        fst xxx
 
        finit
        fld x
        fld y
        fmul st(0), st(1)
        fst xy
 
 
        finit
        fld y
        fld y
        fmul st(0), st(1)
        fst yy
        fmul st(0), st(1)
        fst yyy
 
        finit
        fld a
        fld xy
        fmul st(0), st(1)
        fst xy2
 
 
        finit
        fld xy2
        fld xx
        fsub st(0), st(1)
        fst xx2xy
 
        finit
        fld yy
        fld xx2xy
        fadd st(0), st(1)
        fst yy2xy
 
        finit
        fld yy2xy
        fsqrt
        fst sqrtyy2xy
 
        finit
        fld sqrtyy2xy
        fld xxx
        fmul st(0), st(1)
        fst xxxsqrtyy2xy
 
        finit
        fld xxxsqrtyy2xy
        fld yyy
        fadd st(0), st(1)
        fst yyyxxxsqrtyy2xy
 
        finit
        fld yyyxxxsqrtyy2xy
        fld xy
        fadd st(0), st(1)
        fst xyyyyxxxsqrtyy2xy
 
 
    };
    std::cout << "xx " << xx << "\n";
    std::cout << "xxx " << xxx << "\n";
    std::cout << "xy " << xy << "\n";
    std::cout << "xy2 " << xy2 << "\n";
    std::cout << "yy " << yy << "\n";
    std::cout << "yyy " << yyy << "\n";
    std::cout << "xx-xy2 " << xx2xy << "\n";
    std::cout << "xx-xy2 + yy " << yy2xy << "\n";
    std::cout << "sqrtyy2xy " << sqrtyy2xy << "\n";
    std::cout << "xxxsqrtyy2xy " << xxxsqrtyy2xy << "\n";
    std::cout << "yyyxxxsqrtyy2xy " << yyyxxxsqrtyy2xy << "\n";
    std::cout << "xyyyyxxxsqrtyy2xy " << xyyyyxxxsqrtyy2xy << "\n";
 
    double result = sqrt(pow(x, 2) - 2 * x*y + yy) * pow(x, 3) + pow(y, 3) + x * y;
    std::cout << "result " << result << "\n";
 
 
    return 0;
 
 
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.07.2020, 12:52
Помогаю со студенческими работами здесь

Правила использования ассемблерных вставок в Free Pascal
program Project1; {$asmMode intel} procedure CalcExp(a: word; var b: byte ); Begin asm ...

Подскажите компилятор С++, для ассемблерных вставок на х64 код
Подскажите компилятор С++ который понимает inline ассемблерные вставки на х64 код.

Вычисление периметра(вычисление расстояния между вершинами реализовать в виде функции)
даны координаты вершин многоугольника (X1,Y1), (X2,Y2),...(Xn,Yn). Напишите программу для...

Реализовать вычисление в виде функций
Есть задание - Значение аргумента x изменяется от a до b с шагом h. Для каждого x найти значения...

Запрет на изменение формул в указанных ячейках
Добрый день. Подскажите как запретить изменение формул в конкретных ячейках посредством VBA....

Вычисление значения ветвящейся процедуры с использованием ассемблерных подпрограмм
Здравствуйте. Помогите, пожалуйста, с заданием: Вычислить значение ветвящейся функции при помощи...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru