![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
BlackShadow |
![]()
Сообщение
#21
|
Гость ![]() |
Не стал дочитывать до конца - влом как-то. Есть такой Int интересный, который вызывается как реакция на Ctrl+Break. Вроде 24h. Его адрес ещё в PSP прописывается. Можно было бы его перехватить... Хотя, что на это скажет винда - не знаю.
|
Altair |
![]()
Сообщение
#22
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Ага, спасибо BlackShadow, именно мне это и надо!
перхват прерывания самое надежное дело! -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
godd |
![]()
Сообщение
#23
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Мужской Репутация: ![]() ![]() ![]() |
BlackShadow
а ты почитай, там вывод: checkbreak из модуля crt решает данную задачу |
godd |
![]()
Сообщение
#24
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Мужской Репутация: ![]() ![]() ![]() |
Oleg_Z
дело хозяйское |
Altair |
![]()
Сообщение
#25
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Дело в том, что из модуля то решает но инстерсно как там все работает!
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
godd |
![]()
Сообщение
#26
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Мужской Репутация: ![]() ![]() ![]() |
Oleg_Z
понятно. просто я на ассме не разбираюсь, и не до конца понимаю, где он может пригодиться (ну мелкие там функции для прог - это и я, если поднапрячся и сильно надо будет смогу, а по-крупному?) |
BlackShadow |
![]()
Сообщение
#27
|
Гость ![]() |
godd, тогда и не пытайся учить старших
![]() CheckBreak определяет набор функций DOS'а, которые используются при вводе выводе самим модулем. А вот Oleg_Z, может относит себя к тем, что не станет рисковать Runtime Error'ом 200 из-за какого-то CheckBreak'а. |
godd |
![]()
Сообщение
#28
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Мужской Репутация: ![]() ![]() ![]() |
BlackShadow
я и не пытаюсь ;) мне просто интересно ) |
xds |
![]()
Сообщение
#29
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: ![]() ![]() ![]() |
Прерывание Int 23h активизируется из системных вызовов DOS, проверяющих буфер клавиатуры (в основном функции консольного ввода-вывода), и возникает при обнаружении в буфере сочетания Ctrl-C. При нажатии Ctrl-Break происходит более сложная комбинация: контроллер клавиатуры -> IRQ1 <=> Int 9 -> Int 1Bh - обработчик Ctrl-Break BIOS'а, по умолчанию вставляет Ctrl-C в буфер клавиатуры.
Вектор Int 23h не требует восстановления перед выходом из программы: после завершения программы DOS сама присваивает стандартные значения векторам Int 22h, 23h, 24h. -------------------- The idiots are winning.
|
![]() ![]() |
![]() |
Текстовая версия | 26.06.2024 14:54 |