extrimist Опубликовано 3 сентября, 2004 Жалоба Share Опубликовано 3 сентября, 2004 УВ. ФОРУМЦЫ Я ВОТ НАПИСАЛ(ударение на 3_ем слоге) ОБРАБОТЧИК ДОСКОКЛАВИШНОГО ПРИБОРА(IRQ9). БУДЬТЕ ДОБРЫ, ПОДСКАЖИТЕ КАКИЕ ИЗМЕНЕНИЯ(ОШИБКИ) Я ДОПУСТИЛ. КРИТИКУЙТЕ КАК УГОДНО, АВТОР НЕ ОБИДЕТСЯ(А ПРИМЕТ ДАННОЕ ЗАМЕЧАНИЕ ВО ВНИМАНИЕ). И ЕЩЁ: КЛАВИРНЫЙ БУФЕР ИМЕЕТ НЕСКОЛЬКО ИНУЮ СТРУКТУРУ. КЛАВИАТУРНЫЙ ОБРАБОТЧИК. АЛГОРИТМ. 1. Поймать нажатие/отпуск клавиши. 2. Отпуск? -> перейти на 4_ый пункт. 3. Это ScrollLock? -> изменить режим/состояние ScrollLock -> Выйти 3.1 Это NumLock? -> изменить режим/состояние NumLock -> Выйти 3.2 Это CapsLock? -> изменить режим/состояние CapsLock -> Выйти 3.3 Это Insert? -> изменить режим/состояние Insert -> Выйти 3.4 Это левый Shift? -> изменить состояние левый Shift -> Выйти 3.5 Это правый Shift? -> изменить состояние правый Shift -> Выйти 3.6 Это Alt? -> изменить состояние Alt -> Выйти 3.7 Это Ctrl? -> изменить состояние Ctrl -> Выйти 3.8 Посмотреть П(позицию в буфере) -> поместить С/С и К(код) в ячейку-> Выйти 4. Это ScrollLock? -> изменить состояние ScrollLock -> Выйти 4.1 Это NumLock? -> изменить состояние NumLock -> Выйти 4.2 Это CapsLock? -> изменить состояние CapsLock -> Выйти 4.3 Это Insert? -> изменить состояние Insert -> Выйти 4.4 Это левый Shift? -> изменить состояние левый Shift -> Выйти 4.5 Это правый Shift? -> изменить состояние правый Shift -> Выйти 4.6 Это Alt? –> изменить состояние Alt -> Выйти 4.7 Это Ctrl? -> изменить состояние Ctrl -> Выйти 5. Выход ФОРМАТ МОЕГО КЛАВИАТУРНОГО БУФЕРА С/С П С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К С\С К *С/С – слово состояния в данный момент времени *С\С – слово состояния в момент нажатия данной клавиши * П – позиция в буфере * К – код клавиши ФОРМАТ СЛОВА СОСТОЯНИЯ ДРУГОЙ: 1_ый БАЙТ(ОТ 7 ДО 0): скрол(режим),нам(режим) капс(режим), инсерт(режим), скрол(состояние),нам(состояние) капс(состояние), инсерт(состояние) 2_ой байт(ОТ 7 ДО 0): L_SHIFT(СОСТОЯНИЕ), R_SHIFT(СОСТОЯНИЕ),ALT(СОСТОЯНИЕ), CTRL(СОСТОЯНИЕ) КЛАВИАТУРНЫЙ ОБРАБОТЧИК. РЕАЛИЗАЦИЯ НА АСМЕ. ;1-oe pusha in al, 60h mov ah, al in al, 61h or al, 10000000b out 61h, al and al, 01111111b mov al, ah ;2-oe test al, 10000000b jz NAJ jmp OTP ;3-e NAJ: And al, 01111111b Cmp al, 46h Jne NUMLOCK Mov ax, C/C ;(слово состояния) Xor ax, 1000100000000000b Jmp EXIT ;3.1 NUMLOCK: Cmp al, 45h Jne CAPSLOCK Mov ax, C/C Xor ax, 0100010000000000b Jmp exit ;3.2 CAPSLOCK: Cmp al, 3Ah Jne INSERT Mov ax, C/C Xor ax, 0010001000000000b Jmp EXIT ;3.3 INSERT: Cmp al, 52h Jne L_SHIFT Mov ax, C/C Xor ax, 0001000100000000b Jmp EXIT ;3.4 L_SHIFT: Cmp al, 2Ah Jne R_SHIFT Mov ax, C/C Xor ax, 0000000010000000b Jmp EXIT ;3.5 R_SHIFT: Cmp al, 36h Jne ALT Mov ax, C/C Xor ax, 0000000001000000b Jmp EXIT ;3.6 ALT: Cmp al, 38h Jne CTRL Mov ax, C/C Xor ax, 0000000000100000b Jmp EXIT ;3.7 CTRL: Cmp al, 1Dh Jne OB_KEY Mov ax, C/C Xor ax, 0000000000010000b Jmp EXIT ;3.8 OB_KEY: MOV BX, П (позиция в буфере) Mov [DS:BX]+3, al Mov dx, C/C Mov [DS:BX], DX JMP EXIT ;4 ;4.1 OTP: And al, 01111111b Cmp al, 46h Jne NUMLOCK_OTP Mov ax, C/C ;(слово состояния) Xor ax, 0000100000000000b Jmp EXIT ;4.2 NUMLOCK_OTP: Cmp al, 45h Jne CAPSLOCK_OTP Mov ax, C/C Xor ax, 0000010000000000b Jmp exit ;4.3 CAPSLOCK_OTP: Cmp al, 3Ah Jne INSERT_OTP Mov ax, C/C Xor ax, 0000001000000000b Jmp EXIT ;4.4 INSERT_OTP: Cmp al, 52h Jne L_SHIFT_OTP Mov ax, C/C Xor ax, 0000000100000000b Jmp EXIT ;4.5 L_SHIFT_OTP: Cmp al, 2Ah Jne R_SHIFT_OTP Mov ax, C/C Xor ax, 0000000010000000b Jmp EXIT ;4.6 R_SHIFT_OTP: Cmp al, 36h Jne ALT_OTP Mov ax, C/C Xor ax, 0000000001000000b Jmp EXIT ;4.7 ALT_OTP: Cmp al, 38h Jne CTRL_OTP Mov ax, C/C Xor ax, 0000000000100000b Jmp EXIT ;4.8 CTRL: Cmp al, 1Dh Jne EXIT Mov ax, C/C Xor ax, 0000000000010000b Jmp EXIT ;5 EXIT: Mov al, 20h Out 20h, al POPA iret ;P.S. ЗАРАНЕЕ БЛАГОДАРЕН Ссылка на комментарий Поделиться на другие сайты More sharing options...
ма3е Опубликовано 4 сентября, 2004 Жалоба Share Опубликовано 4 сентября, 2004 я б хотел покурить то что ты куришь...))))))))) Ссылка на комментарий Поделиться на другие сайты More sharing options...
Yujin Опубликовано 4 сентября, 2004 Жалоба Share Опубликовано 4 сентября, 2004 ма3е да...жопа просто какаято... вот колбасит.... еееемоооеее.... фффуууф.... на коры чтоль упать... Ссылка на комментарий Поделиться на другие сайты More sharing options...
extrimist Опубликовано 4 сентября, 2004 Автор Жалоба Share Опубликовано 4 сентября, 2004 5 таблеток валидола под язык и усё ПиСтАТО.... Ссылка на комментарий Поделиться на другие сайты More sharing options...
AL-GALI Опубликовано 4 сентября, 2004 Жалоба Share Опубликовано 4 сентября, 2004 Собственно, не совсем ясно, где инициализируется регистр DS. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Yujin Опубликовано 5 сентября, 2004 Жалоба Share Опубликовано 5 сентября, 2004 AL-GALI Собственно, не совсем ясно, где инициализируется регистр DS. да харош!!!! ну ты че мля в натуре не ужели не колбасит совсем??? я озяб уже..... фффуууу..... Добавлено: extrimist 5 таблеток валидола под язык и усё ПиСтАТО.... лучше "феников" пару листов )) Ссылка на комментарий Поделиться на другие сайты More sharing options...
AL-GALI Опубликовано 5 сентября, 2004 Жалоба Share Опубликовано 5 сентября, 2004 Меня уже с 15 лет торкнуло не по-детски! Я и спрашиваю, где сегментный регистр DS инициализируется, если он используется для доступа к буферу с символами? Думаю, тут поможет медитация с вдыханием запаха отвара лотосовых лепестков. Лепестки залить кипятком, поставить чашку себе под нос, накрыться покрывалом и помедитировать минут десять. Ссылка на комментарий Поделиться на другие сайты More sharing options...
extrimist Опубликовано 5 сентября, 2004 Автор Жалоба Share Опубликовано 5 сентября, 2004 AL-GALI> СПАСИБО, УЧТУ Ссылка на комментарий Поделиться на другие сайты More sharing options...
Smile Опубликовано 5 сентября, 2004 Жалоба Share Опубликовано 5 сентября, 2004 Yujin ты не представляешь насколько клева выглядит простейший клиент для SQL Server, написанный на винасме =))) это чудо =)) парвда чудо чудное =))) не представляю сколько надо убить сил и времени, что б его написать но круто! внатуре надо медитировать, что на нем такое писать =))))) Ссылка на комментарий Поделиться на другие сайты More sharing options...
Yujin Опубликовано 8 сентября, 2004 Жалоба Share Опубликовано 8 сентября, 2004 AL-GALI Меня уже с 15 лет торкнуло не по-детски! Я и спрашиваю, где сегментный регистр DS инициализируется, если он используется для доступа к буферу с символами? Думаю, тут поможет медитация с вдыханием запаха отвара лотосовых лепестков. Лепестки залить кипятком, поставить чашку себе под нос, накрыться покрывалом и помедитировать минут десять. меня вот тоже торкает... по взрослому А я себя спрашиваю, где этот пакадж DBMS_OUTPUT который PUT_LINEы фигачит и в консольном режиме работает??? Думаю, мне поможет мидитация с вдыханиями дыма сушеных марихуановских лепестков. Лепестки рассортировать, выложить на белую бумагу, формата А3, положить на пару дней в темное сухое место, после чего, перетереть руками, через металическое сито и шлемку втирать, чтобы избавица от надоедлевых семян, после чего, при желании, можно смешать с табаком, желательно сигаретным... взяв пачку БеломорКанала, достав от туда пару папирос, выпотрошить аккуратненько от туда табак, перед этим выдвинув папиросную бумагу вверх от штакета, и ручным способом (галаза не видят, а руки делают) прибить смесь ну или пылесосом (вставив в рот штакет, вдыхать в себя смесь) )) после чего выкурить, желательно в 3-м 4-ом. и мидитировать часик )))))) Добавлено: Smile ты не представляешь насколько клева выглядит простейший клиент для SQL Server, написанный на винасме =))) ООО!!! вот это ты предложил, и подкинул задачку )) неужели можно??? и вообще, как эт выглядет??? эт че, и драйвер доступа надо, и клиент...небось в текстовом режиме... и запросы както отсылать... и результирующий датасет возвращать...мля... да этж полгода наверно токма писать ))))) если не год ))) или два )) не, я столько травы не выкурю 6)))))) А вообще, можно на такое чудо посмотреть где нить??? интересно прям чет стало ))) Добавлено: но круто! балин...в натуре круто мне приходили в голову такие идеи конечно, но мля... этож вообще онанизм )) а не мидитация мля....а всетки все равно круто ) Ссылка на комментарий Поделиться на другие сайты More sharing options...
Smile Опубликовано 8 сентября, 2004 Жалоба Share Опубликовано 8 сентября, 2004 http://wasm.ru/ тут поройся, меня как-то давно прикололо, даже че-то пробовал лепить, получалось немного ты почитай, почитай, главное что б травы тебе хватило =)))) Ссылка на комментарий Поделиться на другие сайты More sharing options...
Yujin Опубликовано 11 сентября, 2004 Жалоба Share Опубликовано 11 сентября, 2004 Smile пасиб, катанул себе RadASM буду ковырять на доСУКЕ ) да и доки чтоль тоже почитать всякой ))) ресурс полезный ))) фенкс Ссылка на комментарий Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Заархивировано
Эта тема находится в архиве и закрыта для дальнейших ответов.