Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 27.03.2020
Сообщений: 7

Вычисление значения выражения (asm-вставка)

17.02.2021, 11:01. Показов 433. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Надо, чтобы посчитало c=(a+b)/d-d2*a-b с помощью Assebler.
Что мне нужно поменять?
P.S. Код в _asm не соответствует примеру.
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
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <tchar.h>
#include <iostream>
using namespace std;
void main()
{
    short a,b,d;
    cout << "a= ";
    cin >> a;
    cout << "b= ";
    cin >> b;
    cout << "d= ";
    cin >> d;
 
    cout << "c++ = " << ((float)a+(float)b)/(float)d-(float)d*2*(float)a-(float)b << endl;
    _asm {
        inc c
        mov ax,b
        shl ax,1
        mov cx,ax
 
        mov ax,d
        mov bx,c
        mul bx
 
        sub cx,ax
        mov d,cx
    }
    //нужно c=(a+b)/d-d2*a-b 
    cout << "asm = " << d / (float)b << endl;
    system("pause");
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.02.2021, 11:01
Ответы с готовыми решениями:

Вычисление значения выражения в зависимости от значения аргумента

Вычисление значения выражения
Только начал осваивать с++,практически 0 уровень,дали решить задачу,условие: B=sqrt(10*(x^(1/3) + x^(y+2)) * (arcsin^2(z) - |x-y|) ...

Вычисление значения выражения
a=2*cos(x-pi/6); b=0.5+pow(sin)(y); c=1+(z*z)/3-(z*z)/5; rez=a/b*c; поправьте пожалуйста

3
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
17.02.2021, 11:25
Цитата Сообщение от DanKalRon Посмотреть сообщение
_asm {
        inc c
        mov ax,b
        shl ax,1
        mov cx,ax
mov ax,d
        mov bx,c
        mul bx
sub cx,ax
        mov d,cx
    }
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
__asm {
        mov eax, dword ptr[a]
        add eax, dword ptr[b]
        mov ebx, dword ptr[d]
        div ebx
        mov ecx, eax
 
        mov eax, dword ptr[a]
        mov ebx, 2
        mul ebx
        mov ebx, dword ptr[d]
        mul ebx
        sub ecx, eax
        sub ecx, dword ptr[b]
 
        mov dword ptr[c], ecx
    }
1
0 / 0 / 0
Регистрация: 27.03.2020
Сообщений: 7
17.02.2021, 11:36  [ТС]
Спасибо.
Надо теперь, что-то с меткой "C" делать, но тут я уже сам)
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
17.02.2021, 11:41
Цитата Сообщение от DanKalRon Посмотреть сообщение
Надо теперь, что-то с меткой "C" делать, но тут я уже сам)
Можно:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
movsx       eax,word ptr [a]  
movsx       ecx,word ptr [b]  
add         eax,ecx  
movsx       ecx,word ptr [d]  
cdq  
idiv        eax,ecx  
movsx       edx,word ptr [d]  
shl         edx,1  
movsx       ecx,word ptr [a]  
imul        edx,ecx  
sub         eax,edx  
movsx       edx,word ptr [b]  
sub         eax,edx  
mov         word ptr [c],ax
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.02.2021, 11:41
Помогаю со студенческими работами здесь

Вычисление значения выражения
Как записать вычисление этой суммы? Спасибо.

Вычисление значения выражения
Помогите решить задачу Разработать программу для вычисления значения выражения: При реализации использовать только ...

Вычисление значения выражения
вычислить y y=\sum_{p=1}^{m} \frac{1}{sin({e}^{p}-1)}

Вычисление значения выражения
Для заданного натурального числа п написать программу вычисления значения выражения: S={e}^{-1}+e\sqrt{2}+e\sqrt{3}+...e\sqrt{n} ...

Вычисление значения выражения
Вычисление значения выражения при заданных исходных данных. Сравнить полученное значение с указанным правильным результатом. ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru