![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
fullnull |
|
||||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 23.7.2007 Репутация: нет Всего: нет |
Всем привет!
Проблемка: нужно вставить asm-код в программу на cpp TASM программа:
Нужно выполнить то же самое в программе на C++:
Программа не компилиться, куча ошибок. Слышал, что gcc не дружит с таким способом вставки asm-кода. Но как это сделать? |
||||
|
|||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 4 Всего: 91 |
Учи синтаксис AT&T
gcc использует компилятор ассемблера gas Первое что выдал гугл: http://sig9.com/articles/att-syntax http://ru.wikipedia.org/wiki/AT&T_%D1%...%81%D0%B8%D1%81 http://www.ibiblio.org/gferg/ldp/GCC-Inlin...mbly-HOWTO.html А теперь насчет самого ассемблерного кода. Если программа будет собираться под линуксом, то она работать не будет, там совершенно другие прерывания. Кстати вот еще что. У gcc есть опция -masm-compat, но нигде нет информации о том как с ней работать. Это сообщение отредактировал(а) SABROG - 22.7.2008, 09:04 |
|||
|
||||
fullnull |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 23.7.2007 Репутация: нет Всего: нет |
Я сделал все, чтобы не учить этот непривлекательный для меня синтаксис. Вот что я нашел:
http://www.redhat.com/docs/manuals/enterpr...voking-gcc.html
|
|||
|
||||
xvr |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
А придется ![]()
![]() Кстати, совершенно непонятно, для чего этот ассемблер нужен - получить GPF (и аварийное завершение программы) можно и гораздо более простыми срособами ![]() |
||||||
|
|||||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 3 Всего: 43 |
fullnull, код на асме должен быть для целевой платформы. А синтаксис - для конкретного компилятора.
|
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
можно скомпилить отдельные части ассемблером, что понимает синтаксис intel и прилинковать эту функциональность при линковке частей из cpp ... незнаю как это сделать с gcc, но уверен что такое возможно.
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |