IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> Блокировка Ctrl+break - снятия задачи в ДОС
BlackShadow
сообщение 7.10.2004 21:50
Сообщение #21


Гость






Не стал дочитывать до конца - влом как-то. Есть такой Int интересный, который вызывается как реакция на Ctrl+Break. Вроде 24h. Его адрес ещё в PSP прописывается. Можно было бы его перехватить... Хотя, что на это скажет винда - не знаю.
 К началу страницы 
+ Ответить 
Altair
сообщение 7.10.2004 21:54
Сообщение #22


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Ага, спасибо BlackShadow, именно мне это и надо!
перхват прерывания самое надежное дело!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
godd
сообщение 7.10.2004 21:55
Сообщение #23


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Мужской

Репутация: -  0  +


BlackShadow
а ты почитай, там вывод: checkbreak из модуля crt решает данную задачу
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
godd
сообщение 7.10.2004 21:55
Сообщение #24


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Мужской

Репутация: -  0  +


Oleg_Z
дело хозяйское
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 7.10.2004 22:03
Сообщение #25


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Дело в том, что из модуля то решает но инстерсно как там все работает!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
godd
сообщение 7.10.2004 22:20
Сообщение #26


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Мужской

Репутация: -  0  +


Oleg_Z
понятно. просто я на ассме не разбираюсь, и не до конца понимаю, где он может пригодиться (ну мелкие там функции для прог - это и я, если поднапрячся и сильно надо будет смогу, а по-крупному?)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
BlackShadow
сообщение 18.10.2004 22:26
Сообщение #27


Гость






godd, тогда и не пытайся учить старших smile.gif
CheckBreak определяет набор функций DOS'а, которые используются при вводе выводе самим модулем. А вот Oleg_Z, может относит себя к тем, что не станет рисковать Runtime Error'ом 200 из-за какого-то CheckBreak'а.
 К началу страницы 
+ Ответить 
godd
сообщение 18.10.2004 23:55
Сообщение #28


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Мужской

Репутация: -  0  +


BlackShadow
я и не пытаюсь ;)
мне просто интересно )
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
xds
сообщение 19.10.2004 2:26
Сообщение #29


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


Прерывание 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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V < 1 2
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 26.07.2025 15:09
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"