Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2010, 14:22   #1
JeyKip
Форумчанин
 
Регистрация: 18.09.2009
Сообщений: 133
По умолчанию Ассемблер в С++

Добрый день..!! Подскажите, пожалуйста, как ввести значение через cin, а использовать его в качестве операнда в асмовской вставке...пробовал int и byte,но безрезультатно...пишет, что несовместимые типы...как просто описать переменные в стиле ассемблера (например, a db ?)...???

Код:
#include <iostrem>
#include <dos.h>

void main ()
{
    _asm
{
};

}
JeyKip вне форума Ответить с цитированием
Старый 04.11.2010, 15:30   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Компилятор каккой? Как пробывал? Где ругается?
p51x вне форума Ответить с цитированием
Старый 04.11.2010, 15:54   #3
guz
Пользователь
 
Регистрация: 29.10.2010
Сообщений: 29
По умолчанию

для gcc, например, всё очень подробно описано сдесь:
http://ibiblio.org/gferg/ldp/GCC-Inl...bly-HOWTO.html

вот пример оттудова:
Код:
 
int a=10, b;
asm ("movl %1, %%eax; 
         movl %%eax, %0;"
         :"=r"(b)       /* output */
         :"r"(a)         /* input */
         :"%eax"       /* clobbered register */
);
guz вне форума Ответить с цитированием
Старый 05.11.2010, 14:34   #4
JeyKip
Форумчанин
 
Регистрация: 18.09.2009
Сообщений: 133
По умолчанию

спасибо...разобрался...вот пример:

Код:
#include <iostream>
#include <conio.h>
#include <dos.h>
using namespace std;

void main()
{	
	setlocale (0,"");
double two_pi = 180.3, koef;
int four_pi = 360,color = 10, xc=320, yc=175, rx_1=100, ry_1=85;
int rx,ry,x,y,radius,angl=1;

cout<<"Введите радиус окружности\n";
cin>>radius;
	_asm
	{
		finit
			fld radius
			fld four_pi
			fdiv st(0), st(1)
			fstp koef
	};
	cout<<koef;

getch();
}
JeyKip вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ассемблер varyat Помощь студентам 0 23.05.2010 17:48
Ассемблер VD1988 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 20.05.2010 22:10
Ассемблер) oblachko Помощь студентам 6 10.12.2009 08:15
Ассемблер maziLa Помощь студентам 3 06.07.2009 10:31
Ассемблер InTest Фриланс 1 12.12.2007 02:05