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

Ассемблерные вставки - C++

Восстановить пароль Регистрация
 
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
23.01.2013, 16:20     Ассемблерные вставки #1
Будут ли у меня проблемы, если я, поработав с регистрами, не восстановлю их после выхода из вставки? Если проблем не будет, то их не будет с любым регистром? Даже если я изменю cs/ss/sp?
p.s Сам не проверял, но интересно. Что будет, если я поделю на ноль во вставке? Просто abort() или хитроумно-закрученное exception?

Добавлено через 6 часов 21 минуту
up to date
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2013, 16:20     Ассемблерные вставки
Посмотрите здесь:

C++ Ассемблерские вставки.
Ассемблеровские вставки C++
C++ Ассемблеровские вставки в C++
Ассемблерные вставки, ошибка C++
C++ Ассемблерные вставки в C++
C++ Ассемблерные вставки пример
C++ Как делаются ассемблерные вставки?
Зачем нужны ассемблерные вставки в Си (msvs) ? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
WhiteP
605 / 203 / 23
Регистрация: 20.11.2012
Сообщений: 419
23.01.2013, 17:17     Ассемблерные вставки #2
Речь о Windows?

Цитата Сообщение от nexen Посмотреть сообщение
Что будет, если я поделю на ноль во вставке? Просто abort() или хитроумно-закрученное exception?
Эм... Ну если собственноручно установил фрейм исключения (try except), то он и сработает. Если же пользовательские обработчики не установлены, то будет вызван стандартный виндовый обработчик, который выдаст сообщение с описанием исключения и закроет приложение. После компиляции что асмовая вставка, что код сгенерированный компилятором - не отличишь.

Цитата Сообщение от nexen Посмотреть сообщение
Будут ли у меня проблемы, если я, поработав с регистрами, не восстановлю их после выхода из вставки?
Ну смотря что и как. Например, если ты изменишь ebp/esp - то порушишь стек. А сегментные регистры Windows содержат селектор сегмента в GDT или LDT, которые только в нулевом кольце доступны...
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
23.01.2013, 17:19  [ТС]     Ассемблерные вставки #3
WhiteP, да, о windows.
А если регистры eax, ebx, ecx, edx изменю?
Yandex
Объявления
23.01.2013, 17:19     Ассемблерные вставки
Ответ Создать тему
Опции темы

Текущее время: 05:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru