Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Vasiliusis
42 / 42 / 1
Регистрация: 14.10.2008
Сообщений: 131
1

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

12.11.2008, 18:44. Просмотров 590. Ответов 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
Ответы с готовыми решениями:

Скажите, пожалуйста, почему в переменной fn остаётся значение 1, а не символ, введенный с клавиатуры?
Добрый день! Вспоминаю программирование. Скажите, пожалуйста, почему в переменной fn остаётся...

Скажите, пожалуйста, почему в сортированном массиве, элемент 0х3 такое большое число?
Добрый день. Скажите, пожалуйста, почему в сортированном массиве, элемент 0х3 такое большое число?...

Скажите пожалуйста, что не так: Почему в выделенной части кода пропускается ввод фамилии?
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;cstdlib&gt; #include...

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

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

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

Указатели и массивы: почему заданный код даёт разные результаты?
Почему этот код даёт разные результаты? Что присваивается указателю во втором случае? int main()...

Простой пример из книги. Объяснить, почему код выдает такие результаты
Коллеги, привожу простой пример из книги Страуструппа. #include &lt;iostream.h&gt; #include...

Почему значения free -m и top различаются?
Использую скрипты которые в определенный остаток памяти выполняют действия, но из за вот этой...


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

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

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