|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
10.12.2010, 21:18 | #1 |
Пользователь
Регистрация: 14.09.2010
Сообщений: 37
|
Делфи и ассемблер. Не работают прерывания типа Int
Доброго дня суток! Мне нужно совместить API функции с прерываниями контроллера клавиатуры в одной программе, но вот незадача: ни Int, ни Out не работает
Код подключения у меня примерно такой (для примера): procedure Proc1(); asm mov Ax,4C00h int 21h end; На строчке Int21h выдает ошибку EAccessViolation Read on address FFFFFFFF. Подскажите, что не так в даном использовании прерываний в Delphi? Спасибо Последний раз редактировалось Я_и; 10.12.2010 в 21:20. |
10.12.2010, 21:25 | #2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Я может чего то путаю, но разве прерывания работают/разрешены вне ring0 в Windows?
|
10.12.2010, 22:12 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
нет не работают, роль прерываний вообще другая в защищенном режиме.
первые 32 это исключения, а дальше ОС решает как их применять. пишите под ДОС тогда. (порты тоже запрещены) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
11.12.2010, 06:46 | #4 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
С чего вы взяли, что они будут работать?
Книжку для начала в руки возьмите. А лучше не одну. Вроде Рихтера и Руссиновича. А если вы расскажете, что сделать хотите, вам подскажут способ.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
11.12.2010, 09:21 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
11.12.2010, 12:31 | #6 |
Пользователь
Регистрация: 14.09.2010
Сообщений: 37
|
Мда(( Печально(( Мне просто нужно работать с таблицей векторов прерываний... И очень было бы неплохо подключить к программе библиотеку классов Delphi (как мед, так и ложкой).
Может лучше создать два приложения (на ассемблере и на делфи)? |
11.12.2010, 12:54 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
11.12.2010, 13:00 | #8 |
Пользователь
Регистрация: 14.09.2010
Сообщений: 37
|
Спасибо) Может и правда проще драйвер написать)
Тема закрыта! Последний раз редактировалось Я_и; 11.12.2010 в 13:06. |
11.12.2010, 13:13 | #9 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
(я просто хочу быть уверенным что вы знаете что делаете) 21h прерывание...хм, а вы уверены что оно будет именно тем что вам надо? я так не думаю, ибо это прерывание DOS, в винде оно не имеет того же смысла. вам судя по всему под ДОС писать надо. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с функциями(передача масива в функцию типа int) | sekator | Общие вопросы C/C++ | 4 | 27.07.2010 22:13 |
Преобразования типа LPCSTR -> int без потери данных | coNsept | Общие вопросы C/C++ | 2 | 20.05.2010 20:49 |
Ассемблер в делфи | danekne | Помощь студентам | 1 | 24.11.2009 13:48 |
Конвертация типа string в int | Mixasik | Общие вопросы C/C++ | 10 | 25.04.2009 02:58 |