![]() |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
![]() |
kile |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Репутация: ![]() ![]() ![]() |
всем привет
![]() у меня 3 вопроса: 1. как написать прерывание, которое по нажатию комбинации двух клавиш (например Ctrl+printScr или Alt+PrintScr) выдавало бы например ткстовое сообщение ?? (в досе) 2. какой код у клавиши PrintScr ??? 3. как сдлать енто прерывние резидентным ?? |
![]() ![]() |
BlackShadow |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата MOV AL, 20H ; ??????????? OUT 20H, AL ; ??????????? Я вот тоже этого не понял. Какое это ты тут аппаратное прерывание завершаешь? Цитата @lo2: mov cx,200 А это к чему? Цитата MOV AX, 4C00H INT 21H ----------- Тут выполнение заканчивается. Вообще. MOV AL, 20H ; ?????? ----------- До этого бреда дело уже не доходит. OUT 20H, AL ; ?????? А тут твоя основная ошибка: Цитата mov flag, 0000h Эта команда интерпретируется как "MOD [DS:flag],0", не грех кстати размер указать, а вот DS к этому моменту может оказаться иным. И не аппаратное прерывание 05h - не надо его завершать таким образом. Или ты просто решил наторкать эти строки повсеместно, так на всякий случай??? И ещё 1 вопрос: ты уверен, что INT 05h вызывается из INT 09h при нажатии на Shift+PrtSc? Я попробывал - у меня не получилось.... |
![]() ![]() |
![]() |
Текстовая версия | 15.07.2025 7:53 |