|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.03.2009, 23:18 | #1 |
Регистрация: 22.03.2009
Сообщений: 8
|
Visual Studio 2008. Проблема с асм вставкой в код на С++
Здравствуйте!
Есть проблемка с VS2008. Делаю вставку на асм, оно компилируется, но при вызове функции вылетает прога с ошибкой "Приложение обратилось к памяти по адресу..." Есть подозрение, что ВС2008 понимает команду "int 21h" не как interrupt, а как integer. Моя асм вставка: Код:
Если написать чтото на асм без использования "int 21h" оно работает. Для теста пробывал реализовать операцию сложения внутри асм вставки - работает. Последний раз редактировалось MaTBeu; 23.03.2009 в 19:31. |
23.03.2009, 23:55 | #2 |
Пользователь
Регистрация: 14.03.2009
Сообщений: 41
|
Дело не в этом,в стужии масм32 стоит а он не поддерживает прерывания
|
24.03.2009, 02:00 | #3 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
Такой код мог бы выполнится(возможно!) только в Win9x. Вызов прерываний недоступен для обычных программ. Этот код для DOS RM скорее чем для win32.
"Тяжело в учении, легко в бою" - А.В. Суворов
|
24.03.2009, 02:18 | #4 |
Пользователь
Регистрация: 14.03.2009
Сообщений: 41
|
Если очень надо асм заюзать смори в сторону ReadConsole,WriteConsole
|
24.03.2009, 21:54 | #5 |
Регистрация: 22.03.2009
Сообщений: 8
|
|
24.03.2009, 22:04 | #6 |
Пользователь
Регистрация: 14.03.2009
Сообщений: 41
|
3Ah Что делает?
|
25.03.2009, 00:56 | #7 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
Удаляет заданный каталог, в DX надо положить оффсет на путь к этому каталогу. Если не ошибаюсь строка эта должна заканчиваться символом "$".
Что то вы тут шаманством занимаетесь... DOS RM код мешаете с кодом для защищенного режима. Уже бы тогда компилировали что ли хотя бы в BC++. Вот есть функция - удаляет папку - WinAPI: Код:
"Тяжело в учении, легко в бою" - А.В. Суворов
|
25.03.2009, 01:43 | #8 |
Пользователь
Регистрация: 14.03.2009
Сообщений: 41
|
Ну такда можно так
[CODE] __asm{ push path //put' k papke call DeleteFolder } Что-то я не помню про эту функцию,помню DeleteFile Ну ладно доверимся Ivan_32 |
25.03.2009, 02:31 | #9 | |
Регистрация: 22.03.2009
Сообщений: 8
|
Цитата:
Удаление папки надо реализовать именно на асм, это контрольная работа. |
|
25.03.2009, 02:43 | #10 |
Пользователь
Регистрация: 14.03.2009
Сообщений: 41
|
Кто те сказал глупость про оффсет?
делай так Код:
Вот теперь рабочий вариант Последний раз редактировалось Mega; 25.03.2009 в 02:49. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Visual Studio 2008 | Растаманов | Visual C++ | 7 | 26.11.2008 12:59 |
C++ и Visual Studio 2008 | Born to kill | Общие вопросы C/C++ | 0 | 12.11.2008 22:22 |
Visual Studio 2008 | bullvinkle | Помощь студентам | 4 | 10.11.2008 23:44 |
Visual C# Studio 2008 | werat | Общие вопросы .NET | 6 | 17.10.2008 16:38 |