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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чтение двухмерного массива из файла http://www.cyberforum.ru/cpp-beginners/thread15763.html
Помогите пожалуйста! есть файл с матрицей напр 12334 12323 12440 12424 как считать ведь файл типа char? написал но там читает ASCII что делать?
C++ Вычислить произведение положительных элементов строки матрицы ПРИВЕТСТВУЮ!!!! В общем задачки простые, но не могу их разобрать!:wall: просто они мне в ближайшее время нужны, а сама пока разберусь.... с института вышебут! Сессия скоро:'(... вот те которые... http://www.cyberforum.ru/cpp-beginners/thread15753.html
C++ Нахождение корня без sqrt()
Здравствуйте. Ну как вы наверно поняли нужно написать собственную функцию нахождения корня. вот что я наваял: const double eps=0.0001; double sqrt=0; double n; cin>>n; while(sqrt*sqrt <n){ ...
C++ Русский язык в Visul C++. Сортировка по алфавиту
Народ, помогите пожалуйста! Написал функцию сравнения по алфавиту. С английскими словами все работает, но с русскими - нет. смотрел в отладчике, там вместо введенных мной слов высвечивается совсем...
C++ Морской Бой http://www.cyberforum.ru/cpp-beginners/thread15698.html
Здраствуите помогите пожалуисто с игрои Морскои бой. не могу сохранить кораблик на поле. Пожалуйсто помогите !!!!!!!! код рамки и передвежения по нему караблика выложу позже. Добавлено через 2...
C++ Реализовать прямое и обратное преобразование натуральных чисел из десятичного в двоично-десятичное представление Помогите пожалуйсто решить задачу по программированию буду очень благодарен! Реализовать прямое и обратное преобразование натуральных чисел из десятичного в двоично-десятичное представление. ... подробнее

Показать сообщение отдельно
Vasiliusis
41 / 41 / 2
Регистрация: 14.10.2008
Сообщений: 131

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

12.11.2008, 18:44. Просмотров 565. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru