ентної частини програми.
Загальна логіка роботи показана на рис. 1.1 і 1.2
Рис. 1.1
В
Рис. 1.2
1.1 ОБРОБКА INT 09h
Обробка 09h програмою представлена ​​на рис. 1.3 і 1.4
p> Рис. 1.3
Рис. 1.4
1.2 ОБРОБКА INT 10h
Обробка 10h програмою представлена ​​на рис. 1.5
В
Рис. 1.5
ВИСНОВОК
Дана програма має такі недоліки:
В· Може використовуватися тільки в ДОС - режимі
В· Клавіша перемикаюча розкладки незмінна
В· Під час роботи програми файл зі шрифтом повинен знаходитися в тому ж каталозі, де знаходиться русифікатор
В· Файл шрифту повинен бути тільки з ім'ям В«8х16.fntВ»
Незаперечна гідність програми - займане місце резидентом в пам'яті.
СПИСОК
В
1. Абель П. Мова Асемблера для IBM PC і
програмування М.: Вища школа, 1992. 447с. br/>
2. Гук М. Апаратні засоби IBM PC СПб.: Пітер,
1996. 224с. br/>
ДОДАТОК 1
ТЕКСТ ПРОГРАМИ
. MODEL TINY; Всі сегменти в одному
. 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
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; а може бути клавішу відпустили? ні?
te...