|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.02.2010, 18:33 | #1 |
Регистрация: 10.02.2009
Сообщений: 6
|
Не работают комбинации alt+f11 alt+12
задание
на эkран вывести pазpешенные символы.на запpeщенные cимволы предyсмотреть pеакцию. paзpешенные cимволы: аlt+f1 - аlt+f12 сам код (рабочий) Код:
все скэн коды пересмотрел. для alt+f11 - 139 alt+f12 - 140. при нажатии реакции никакой. может кто поможет решить проблему? Последний раз редактировалось repli; 17.02.2010 в 18:36. |
17.02.2010, 19:02 | #2 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Скорее всего какой-то косяк от эмулятора доса в винде. Эти сочетания просто не приходит в дос программы при int 16h.
Можно попробовать получать скан коды другими путями, например прямо из порта 60h. так, вроде, работает, только сами числа другие.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4 Последний раз редактировалось Goodwin98; 17.02.2010 в 19:11. |
17.02.2010, 19:36 | #3 |
Форумчанин
Регистрация: 26.04.2009
Сообщений: 270
|
Твой код вообще как то по чудному сделан был...вот он не много преобразован в человеческий....
на счет ф11 и ф12....ща поковыряюсь... CSEG segment assume cs:CSEG,ds:CSEG,es:CSEG,ss:CSEG org 100h MAIN: mov ah,0 int 16h cmp ah,104 ;alt+f1 jz f1 cmp ah,105 ;alt+f2 je f2 cmp ah,106 ;alt+f3 jz f3 cmp ah,107 ;alt+f4 jz f4 cmp ah,108 ;alt+f5 jz f5 cmp ah,109 ;alt+f6 jz f6 cmp ah,110 ;alt+f7 jz f7 cmp ah,111 ;alt+f8 jz f8 cmp ah,112 ;alt+f9 jz f9 cmp ah,113 ;alt+f10 jz f10 cmp ah,139 ;alt+f11 jz f11 cmp ah,140 ;alt+f12 jz f12 ;jmp A mov dx, offset fff mov ah,09h int 21h mov ah,02h ; ўлў®¤ §ўгЄ* mov dl,07h ; бЁ¬ў®« §ўгЄ* int 21h ; ўлўҐбвЁ jmp MAIN ;-------------------- f1: ;ўлў®¤ ᮮ⢥вбвўго饣® б®®ЎйҐ*Ёп ¤«п **¦*в®© Є®¬ЎЁ**жЁЁ mov dx, offset ff1 mov ah,09h int 21h jmp MAIN f2: mov ah,09h mov dx, offset ff2 int 21h jmp MAIN f3: mov ah,09h mov dx, offset ff3 int 21h jmp MAIN f4: mov ah,09h mov dx, offset ff4 int 21h jmp MAIN f5: mov ah,09h mov dx, offset ff5 int 21h jmp MAIN f6: mov ah,09h mov dx, offset ff6 int 21h jmp MAIN f7: mov ah,09h mov dx, offset ff7 int 21h jmp MAIN f8: mov ah,09h mov dx, offset ff8 int 21h jmp MAIN f9: mov ah,09h mov dx, offset ff9 int 21h jmp MAIN f10: mov ah,09h mov dx, offset ff10 int 21h jmp MAIN f11: mov ah,09h mov dx, offset ff11 int 21h jmp MAIN f12: mov ah,09h mov dx, offset ff12 int 21h jmp MAIN ;========================= mov ah,4h ;ўл室 int 21h ff1 db 'alt_f1','$' ff2 db 10,13, 'alt+F2', '$' ff3 db 10,13, 'alt+F3', '$' ff4 db 10,13, 'alt+F4', '$' ff5 db 10,13, 'alt+F5', '$' ff6 db 10,13, 'alt+F6', '$' ff7 db 10,13, 'alt+F7', '$' ff8 db 10,13, 'alt+F8', '$' ff9 db 10,13, 'alt+F9', '$' ff10 db 10,13, 'alt+F10', '$' ff11 db 10,13, 'alt+F11', '$' ff12 db 10,13, 'alt+F12', '$' fff db 'Error$' CSEG ends end MAIN |
18.02.2010, 09:29 | #4 |
Регистрация: 10.02.2009
Сообщений: 6
|
главное разобраться с alt+f11 alt+f12. красота программы не важна, лишь бы код работал. заранее благодарю.
|
18.02.2010, 13:37 | #5 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
[off]
Doholyan, у вас уже 244 сообщения. Ну неужели вы все еще не научились выделять код тегами ? [/off] |
18.02.2010, 14:23 | #6 | |
Регистрация: 10.02.2009
Сообщений: 6
|
Цитата:
in al,60h cmp al,8b (проблема в том, что если писать через хексовые числа (а это 8b для alt+f11 и 8c для alt+f12)) соответственно сразу же выдается ошибка . можно написать cmp al,87 - тогда будут работать все комбинации alt+f11 ctrl+f11 shift+f11 и cmp al,88 для аналогичных комбинаций+f12. но это не дело. помоги добить этот вопрос,plz! |
|
18.02.2010, 14:40 | #7 | |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Цитата:
Код:
Если третий бит включен — значит альт нажат. |
|
18.02.2010, 16:51 | #8 |
Регистрация: 10.02.2009
Сообщений: 6
|
почему: ah,02? в аh вроде 0 нужно помещать
пытался пробить alt. его код - 38. значит: Код:
|
18.02.2010, 16:56 | #9 | |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Цитата:
Код:
|
|
18.02.2010, 17:09 | #10 | |
Регистрация: 10.02.2009
Сообщений: 6
|
Всё оказалось проще.
Подсказали на другом форуме. Вот цитата из ответа (может кому еще пригодится): Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать так, что бы приложение не реагировало на Alt+Tab, Windows и Ctrl+Alt+Del? | st6al | Помощь студентам | 0 | 27.12.2009 19:48 |
Как заблокировать горячие клавиши Alt+F11 | kovalevskivf | Microsoft Office Excel | 2 | 20.05.2009 11:26 |
не получается отключение CTRL+alt+del? Alt+TAb, часов с панели задач и Крестик окна | Reds | Общие вопросы Delphi | 1 | 30.09.2008 10:37 |
Alt+F4 как отключить работу этой комбинации??? | PROGR | Общие вопросы Delphi | 46 | 17.07.2007 14:18 |