Шпаргалка: Программа-переключатель кодировки
pop ax
cmp al,34h ; начало блока тpансляции
jg OldHook09
cmp al,2Ch
jl check2
sub al,2Ch;проверка не символьная
add al,23
jmp short Translate
check2:
cmp al,28h
jg OldHook09
cmp al,1Eh
jl check3
sub al,1Eh; ли это
add al,12
jmp short Translate
check3:
cmp al,1Bh
jg OldHook09
cmp al,10h
jl OldHook09; клавиша
sub al,10h ; конец блока, al = смещение в таблице
Translate:
or [iFlags], MASK keyPressed ; выделяем флаг нажатия клавиши
mov ah,es:[17h] ; а не нажат ли у нас shift
test ah,11b ;
jz lowerKey ; если не нижний регистр - то дальше
add al,32 ; увеличиваем смещение в табл. символов
lowerKey: