Ассемблер Это просто! Учимся программировать

       

что из таблицы понятно, что


Думаю, что из таблицы понятно, что F1 имеет код 3Bh, F2 - 3Ch, F3 - 3Dh и так далее...
Вот кусок программы, в которой мы проверим нажатие комбинации клавиш Shift-F4 (комбинация клавиш - в данном случае нужно нажать Shift и, не отпуская его, F4): ... (1) No_ext: (2) mov ah,10h (3) int 16h (4) cmp al,0 (5) jnz No_ext (6) cmp ah,57h (7) je Shift_f4 (8) jmp No_ext (9) Shift_f4: ...
Мы уже выяснили, что при нажатии на клавиши типа F1, Alt+F1 и т.п. в AL помещается 0, а в AH - расширенный код. В строке (4) мы это дело проверяем. В строке (5) переходим на метку No_ext, если пользователь нажал клавишу, код которой не расширенный (например: A, ф, <пробел>, <Enter> и т.п.). Т.е. мы как бы просто проигнорируем нажатую клавишу и "попросим" пользователя нажать другую.
В строке (6) проверяем, нажата ли именно комбинация клавиш Shift+F4 (не трудно высчитать ее код из приведенной выше ). Если же пользователь нажал Shift+F4, то, как не трудно догадаться, программа перейдет на метку Shift_f4 (9) (ее, естественно, можно было назвать по другому). Если пользователь нажал какую-либо иную клавишу, имеющую расширенный код, то программа опять-таки вернется на метку No_ext (8).
Резюмируем: программа продолжит работу, только если пользователь нажмет комбинацию клавиш Shift+F4.
Думаю, что вопросов быть не должно...
Вот еще одна таблица с кодами (но не расширенными; т.е. проверять нужно AL, а не AH!) часто используемых клавиш (в последствии рассмотрим остальные коды ASCII):










Enter ESC Space Tab
0Dh 1Bh 20h 09h

Все!


Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий