Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2014, 18:56   #1
xotonic
 
Аватар для xotonic
 
Регистрация: 07.04.2013
Сообщений: 8
По умолчанию Не работают прерывания

Есть простой код:
Код:
_asm //Позиционирование курсора на экране в заданную позицию
		{
				mov dl, 1
				mov dh, 1
				mov bh, 0
				mov ah, 3
				int 10h
		}
на int 10h visual studio кричит:
Необработанное исключение по адресу 0x001C1009 в project.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFFFFFFFF
0xC0000005 и 0xFFFFFFFF помечены "?? ??"

Пробовал и другие функции, эффект такой же.
Кто-нибудь сталкивался с таким?

Использую MASM с такими параметрами:
ml.exe /c /nologo /Zi /Fo"Release\%(FileName).obj" /W3 /errorReportrompt /Ta
xotonic вне форума Ответить с цитированием
Старый 24.10.2014, 19:00   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А ты это хочешь под ring3 запускать? Разве винда даст тебе такой доступ к прерываниям? Нужно компилировать 16-тибитный код, чтоб через ntvdm работало.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.10.2014, 19:17   #3
xotonic
 
Аватар для xotonic
 
Регистрация: 07.04.2013
Сообщений: 8
По умолчанию

А есть правильный способ вызывать прерывания в 32-битах? Хочу просто научиться использовать их на еще более-менее живущей разрядности.
xotonic вне форума Ответить с цитированием
Старый 24.10.2014, 20:04   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Есть: Написать драйвер
Хочешь под пользователем - возьми ассемблер (FASM к примеру), он умеет 16-тибитку конструировать. Запускай из-под DosBox и наслаждайся.
Я так и делаю.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.10.2014, 21:18   #5
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,770
По умолчанию

Цитата:
Сообщение от xotonic Посмотреть сообщение
А есть правильный способ вызывать прерывания в 32-битах?
Писать под ОС "Колибри" -- в ней всё на прерываниях.
Vapaamies вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прерывания lowercase Win Api 2 21.12.2012 01:19
прерывания lilek Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 14.12.2010 20:44
Делфи и ассемблер. Не работают прерывания типа Int Я_и Общие вопросы Delphi 8 11.12.2010 13:13
Прерывания alexdrew Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 16.05.2010 00:38
Прерывания Kn793 Общие вопросы Delphi 3 10.01.2009 18:43