| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm: Общие вопросы > Как подмигнуть капслоком |
| Автор: Den64 11.12.2006, 13:32 |
| Как на АСМе включить CapsLock или NumLock в DOSe? |
| Автор: anwe 11.12.2006, 19:34 |
| Используй команду out, порт № 60h (или 61 |
| Автор: Den64 11.12.2006, 21:02 | ||
Я записал:
Ничего не изменилось! Что я не так сделал? |
| Автор: anwe 11.12.2006, 21:20 |
| Во-первых, попробуй 60h. Во-вторых, надо же во второй байт записать состояние - вызови еще раз out с регистром с новым состоянием. |
| Автор: Den64 11.12.2006, 23:41 | ||
Теперь я записал:
До запуска проги Светился NumLock, поидее должен потухнуть. Ничего не изменилось! Что я теперь не так сделал? |
| Автор: anwe 12.12.2006, 00:25 | ||
Держи! Заставил сделать!
Надо еще опрашивать клавиатуру на готовность. |
| Автор: Anglichanin 27.6.2007, 01:12 |
| Я короче скомпилировал эту программу, но ничего не появилось. Появилась только одна ошибка. proga.Asm(1): error A2027: Operand expected 1 Severe Errors |
| Автор: 10110111 29.6.2007, 14:05 |
| Вообще, если делать через порты, то будет только светиться светодиод на клаве, а для того, чтобы включение CapsLock отразилось на работе программ( например, ввод прописных букв без Shift'а), надо писать в BDA по адресу 40:17. По Ralf Brown's files: 40:17 Keyboard Control Byte Bit 7 Insert Locked Bit 6 Caps Lock Locked Bit 5 Num Lock Locked Bit 4 Scroll Lock Locked Bit 3 Alt Key Pressed Bit 2 Ctrl Key Pressed Bit 1 Left Shift Key Pressed Bit 0 Right Shift Key Pressed |