Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Vasiliusis
41 / 41 / 2
Регистрация: 14.10.2008
Сообщений: 131
#1

Скажите, почему различаются результаты? - C++

12.11.2008, 18:44. Просмотров 558. Ответов 0
Метки нет (Все метки)

Добрый день.
Скажите пожалуйста, почему различаются результаты при выполении арифметических операций на чистом С++ и при использовании АССЕМБЛЕРНОЙ ВСТАВКИ?

Код
#include <iostream>
#include <windows.h>
#include <iomanip>
using namespace std;

BYTE ddS = 10;
BYTE ccS = 10;
BYTE aS = 6;

WORD NUM;

void main()
{
	__asm
	{
		MOV AL, ccS
		SUB AL, aS
		INC AX
		PUSH AX
		MOV AL, ccS
		MOV BL, ddS
		CBW
		DIV BL		
		PUSH AX		
		MOV AL, 3
		MOV BL, aS
		MUL BL
		MOV BL, 2
		CBW
		DIV BL
		POP BX
		ADD AL, BL
		POP BX
		CBW
		DIV BL
		MOV NUM, AX
	}
	cout<<"ASSEMBLER = "<<NUM<<endl;
	cout<<"C++ = "<<setprecision(3)<<showpoint<<(static_cast<float>(ccS)/ddS+(3*aS)/2)/(ccS-6+1)<<endl;
	system("PAUSE");
}
Сейчас все сходится.

Можете взять отличные от этих значения - увидите результат.
Нужно для вывода по лабе.

Благодарствую.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2008, 18:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Скажите, почему различаются результаты? (C++):

Скажите, пожалуйста, почему в сортированном массиве, элемент 0х3 такое большое число? - C++
Добрый день. Скажите, пожалуйста, почему в сортированном массиве, элемент 0х3 такое большое число? Ведь диапазон значений 58. Такая...

Почему sizeof выдает разные результаты? - C++
Имею код вида: #define MY_DIR L&quot;\\??\\C:\\MyCryptoDirectory&quot; VOID Func1() { GetFilesFromDirectory(MY_DIR); ...

Регулярные выражения: почему результаты поиска не заносятся в массив? - C++
Всем привет. Подскажите, пожалуйста, что здесь не так? При запуске, на консоли только переходы на новую строку отображаются, а результаты...

Указатели и массивы: почему заданный код даёт разные результаты? - C++
Почему этот код даёт разные результаты? Что присваивается указателю во втором случае? int main() { char* mass = &quot;Hello&quot;; void...

Простой пример из книги. Объяснить, почему код выдает такие результаты - C++
Коллеги, привожу простой пример из книги Страуструппа. #include &lt;iostream.h&gt; #include &lt;conio.h&gt; void f(int a){ ...

Вывод и ввод массива различаются - C++
Почему то то что вводится в массив сначала отличается от того что потом выводится. int mas; int main(){ while (true) { ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2008, 18:44
Привет! Вот еще темы с ответами:

Чем различаются члены wVirtualKeyCode и wVirtualScanCode? - C++
http://msdn.microsoft.com/en-us/library/windows/desktop/ms684166%28v=vs.85%29.aspx.

Коды символов одной и той же буквы различаются. [help] - C++
тоесть если я делаю cout&lt;&lt;int('а'); где а-русская, он выводит код -32. И так до я -1; а если char c; cin&gt;&gt;c; cout&lt;&lt;int(c) и...

Что такое статические и нестатические функции, и чем они различаются? - C++
Тема:Объектно-ориентированное программирование. Ребят, кто может точно сказать что такое статические и нестатические функции и чем они...

Вывести число соседних элементов массива различаются по модулю на порядок - C++
Задана последовательность вещественных чисел a1...aN. Вывести число таких пар (ai, ai+1), что ai и ai+1 различаются по модулю на порядок. ...


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

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

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