Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/2: Рейтинг темы: голосов - 2, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 25.05.2012
Сообщений: 42
1

ошибка в асме

25.05.2012, 23:38. Просмотров 497. Ответов 4
Метки нет (Все метки)

не могу найти ошибку ( вычисляет не правильно в коде асма...
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int main ()
{
int a, b, c, d, e, x, y, s;
cout << "Program 1_1: begin" << endl;
cout << " Enter A "; cin >> a; if (!cin) {cout << "ERROR! Nepravilnoe znachenie; Programma zavershaetsa!!!! Press Enter" << endl; getch(); return 0;}
cout << " Enter B "; cin >> b; if (!cin) {cout << "ERROR! Nepravilnoe znachenie; Programma zavershaetsa!!!! Press Enter" << endl; getch(); return 0;}
cout << " Enter C "; cin >> c; if (!cin) {cout << "ERROR! Nepravilnoe znachenie; Programma zavershaetsa!!!! Press Enter" << endl; getch(); return 0;}
cout << " Enter D "; cin >> d; if (!cin) {cout << "ERROR! Nepravilnoe znachenie; Programma zavershaetsa!!!! Press Enter" << endl; getch(); return 0;}
cout << " Enter E "; cin >> e; if (!cin) {cout << "ERROR! Nepravilnoe znachenie; Programma zavershaetsa!!!! Press Enter" << endl; getch(); return 0;}
cout << " Enter X "; cin >> x; if (!cin) {cout << "ERROR! Nepravilnoe znachenie; Programma zavershaetsa!!!! Press Enter" << endl; getch(); return 0;}
cout << " Enter Y "; cin >> y; if (!cin) {cout << "ERROR! Nepravilnoe znachenie; Programma zavershaetsa!!!! Press Enter" << endl; getch(); return 0;}
s=(a*x*x*y*y+b*x*y*y*y+c*y*y)+(d*x)+(e*y)+a;
cout << "Otvet na C++: " << s << endl;
__asm
{
mov eax,a
mov ebx,x
imul x
imul eax,ebx
mov ecx,y
imul y
imul eax,ecx
mov ebx,b
imul ebx,x
mov ecx,y
imul y
imul y
imul ebx,ecx
add eax,ebx
mov ebx,c
mov ecx,y
imul y
imul ebx,ecx
add eax,ebx
mov ebx,d
imul ebx,x
add eax,ebx
mov ebx,e
imul ebx, y
add eax,ebx
add eax,a
mov s,eax
}
cout << "Podschet okonchen; otvet:";
cout << s << endl;
cout << "Press Enter";
getch();
return 0; 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2012, 23:38
Ответы с готовыми решениями:

Логические операции на асме.
Дан массив из 5 байт. Рассматривая его как массив из 8 пятиразрядных слов, найти “исключающее или”...

Как написать это выражение на Асме?
Напишите плиз аналог этих выражений на Ассемблере (желательно для МАСМ): int x = 5; int* p = &amp;x;...

Программирую на асме под процессор ADSP21XX
программирую на асме под процессор ADSP21XX. делаю всё в емуляторе dos. вопщем есть задание:...

Странности с directX9,неизвестная метка в проге на асме
Суть вопроса заключается в том что в кусе проги написанной при использовании DirectX8 идёт так ...

4
2008 / 1280 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
25.05.2012, 23:52 2
так лучше
Assembler
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
__asm
{
mov  eax, a
imul x 
imul x
imul y
imul y
mov         ebx, b 
imul        ebx, x 
imul        ebx, y 
imul        ebx, y
imul        ebx, y
add         eax, ebx 
mov         ebx, c 
imul        ebx, y 
imul        ebx, y 
add         eax, ebx 
mov         ebx, d 
imul        ebx, x 
add         eax, ebx 
mov         ebx, e
imul        ebx, y 
add         eax, a
add         ebx, eax 
mov         s, ebx 
}
1
1 / 1 / 0
Регистрация: 25.05.2012
Сообщений: 42
26.05.2012, 09:24  [ТС] 3
Огромное спасибо!!!!

Добавлено через 9 часов 29 минут
блин,ввожу все 100,дает отрицательный ответ... как исправить?
0
606 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,069
26.05.2012, 09:46 4
Цитата Сообщение от Вадян Посмотреть сообщение
ошибка в асме
клево сказано
0
2008 / 1280 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
26.05.2012, 10:44 5
Цитата Сообщение от Вадян Посмотреть сообщение
ввожу все 100,дает отрицательный ответ... как исправить?
либо учитывать переполнение, либо ограничить ввод. Ну еще вариант - использовать длинную арифметику, это сильно усложнит код, зато будет работать с большими числами
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2012, 10:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Морфинг на Асме
Нужно реализировать прогу для морфинга изображение, при которой одно изображение плавно переходит в...

Базовые понятия: как перевести в асме слово в двоичный код?
Как перевести в асме слово в двоичный код? По определению слово занимает 2 байта или 65536. Когда...

Форма на асме - миф или реальность
Нужно нарисовать круг красного цвета на зеленом фоне, но не в консоли. Используя ассемблер(МАСМ...

Рекурсивный фильтр на асме
Добрый день! Подскажите пожалуйста, как наиболее эффективно реализовать на интеловском ассемблере...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.