Шпаргалка: Программа-переключатель кодировки

.CODE ; Как ком файл

.STARTUP

.286

LOCALS ; Близкие переходы

JUMPS

jmp Install

RSHIFT_SCAN EQU 36h ; RSHIFT scan code

FLAGS record inRussian:1,shiftPressed:1,keyPressed:1,reserved:6

iFlags FLAGS <0, 0, 0, 0>

STable db 'йцукенгшщзхъфывапpолджэячсмитьбюЙЦУКЕHГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ'

Hook09 proc far ;обpабока int 09h

push ax

push bx

push cx

push di

push ds

push es

mov ax,cs ;сегмент резидента

mov ds,ax ; данные в сегменте кода

in al,60h ; ситываем

mov ah,al ; и сохраняем

cmp al,RSHIFT_SCAN ; ? правый

je gotShift ; пpовеpка нажатия

test al,80h ; верхний регистр

jnz KeyUp ; а может быть клавишу отпустили ? нет ?

test [iFlags], MASK inRussian ; выделяем флаг русского набора

jz OldHook09 ; если в английском, то стаpый обpаботчик

push ax

mov ax,40h

К-во Просмотров: 460
Бесплатно скачать Шпаргалка: Программа-переключатель кодировки