Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
illuminati
20 / 20 / 5
Регистрация: 14.06.2010
Сообщений: 108
1

asm вставка в C++

17.10.2010, 18:46. Просмотров 2434. Ответов 3
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int a = 10;
 
void func( int& aIn ) {
     __asm {
            mov aIn, 15
     }
}
 
int main() {
       func( a );
       std::cout << a;
}
данная фугкция возвращает 10, а должно быть 15
как передать ссылку в асм вставку? на offset ругается...

Добавлено через 1 час 41 минуту
ладно, объясню по-другому
почему ругается на следующий код
Assembler
1
mov eax, offset aIn
error C2415: improper operand type
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2010, 18:46
Ответы с готовыми решениями:

Вставка asm в С++
Здравствуйте! Помогите пожалуйста! Задание: Вычислить арифметическое...

asm вставка в C++
есть код #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; ...

asm вставка в C++ часть 2
есть код. за его написание отдельное спасибо Kastaneda) #include &lt;iostream&gt;...

Asm вставка в С++ возвести число в степень
Возвести число А в степень n (на Assemblerе в С++)

Asm вставка и возвращаемое системе значение
Здравствуйте. Почему эта программа #include &lt;iostream&gt; using std::cout;...

3
vital792
2002 / 1274 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
17.10.2010, 19:00 2
Assembler
1
2
3
4
5
6
7
8
void func( int &aIn )
{
     __asm
     {
         mov eax, [aIn] 
         mov [eax],15 
     }
}
2
illuminati
20 / 20 / 5
Регистрация: 14.06.2010
Сообщений: 108
17.10.2010, 19:05  [ТС] 3
спасибо) выручил)
0
vital792
2002 / 1274 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
17.10.2010, 19:07 4
проще всего открыть дизассемблер и посмотреть.
Assembler
1
2
3
     aIn=15;
00414174  mov         eax,dword ptr [aIn] 
00414177  mov         dword ptr [eax],0Fh
практически тоже самое что я написал.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2010, 19:07

Вставка asm, адрес члена локального объекта
TLongInteger &amp; TLongInteger:: operator + (const TLongInteger &amp;Additional)...

c++ asm
_asm {} какие библиотеки нужно подключать , чтобы заставить работать ассемблер...

asm в VS
вот такой код не работает. строит нормально, но во время запуска выводит...


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

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

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