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

Ошибка компиляции ассемблерной вставки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как скомпилировать проект чтобы вложились нужные библиотеки!!! http://www.cyberforum.ru/cpp/thread61994.html
Привет, народ может поможете. Как мне скомпилировать проект чтобы в папке с прогой, С++ вложил все нужные ей библиотеки, dll? (С++ Архитект 2009) ..............
C++ Игровой движок Какой движок бесплатный для комерческого использования лутше!Сейчас я разрабатываю игру можете вступить к нам у нас 3 программиста 2 модельера и 1 звукарь но я не об этом!Мне нужен двиг с хорошей графикой и эфектами (дым огонь и т.д) http://www.cyberforum.ru/cpp/thread61966.html
C++ Масивы в с++
В общем мне потребовалось написать лабу на тему "Строки" следующего содержания : "Ввести строку из нескольких фамилий отделенных запятыми , вставить имена для каждой фамилии и вывести на экран" У меня есть одна идея, как это осуществить- путём создания еще 1 массива и поиском в введенной строке запятой ,переносом фамилии до запятой во 2 массив,далее переносом имени и т.д....Но помоему есть...
C++ Microsoft Visual С# 2005
Доброго времени суток господа программисты=) у меня 2 вопроса есть по поводу Microsoft Visual C# 1) как сделать чтоб приложение не отображалось в процессах диспетчера задач(CTR+ALT+DEL) 2)как полностью убрать верхнюю синюю шапку в окне приложения ну прост оч надо помогите плиз
C++ Run-Time Check Failure #2 - Stack around the variable 'MX' was corrupted. http://www.cyberforum.ru/cpp/thread61757.html
Решаю задачу. Вот код: #include <iostream> using namespace std; int main () { int S; long long MX; for (int i=0;i<=100;i++) MX=0;
C++ Пропадают символы из char В классе есть метод, в который я передаю указатель на строку char. при пошаговой компиляции, выяснил, что когда я присваиваю эту строку переменной типа AnsiString, строка char обрезается по первый символ. Кто встречался с такой ошибкой, поделитесь опытом её решения, заранее спасибо. Вот код, может поможет: void TMyMask::insert_mask(char *stroka, int *mas) { unsigned int i=0,j=0,m=0;... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17022 / 5427 / 336
Регистрация: 30.03.2009
Сообщений: 14,689
Записей в блоге: 26
11.11.2009, 15:30     Ошибка компиляции ассемблерной вставки
Gravity, у тебя задан двухоперандный случай. К тому же правильно помечать "+m", а не "=m". Вариант с оформлением в виде отдельной процедуры (для трёхаргументного вычитания):

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int
asm_sub (int src1, int src2)
{
  register int dst;
 
  asm ("subl %2, %0" : "=&r" (dst) : "0" (src1), "r" (src2));
 
  return dst;
}
 
int main (void)
{
  printf ("%d\n", asm_sub (15, 23));
  return 0;
}
Добавлено через 25 секунд
Цитата Сообщение от Gravity Посмотреть сообщение
Мне кажется, что проще писать процедуру на асме отдельным файлом и собирать вместе с основным проектом на си, если так хочется поюзать ассемблер.
В этом случае ты зарубаешь возможность inline'а
 
Текущее время: 06:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru