MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> Программа-переключатель кодировки

Название:Программа-переключатель кодировки
Просмотров:77
Раздел:Информатика, программирование
Ссылка:Скачать(62 KB)
Описание:Ростановка задачи и некоторые методы ее решения. Описание программы и общая логика работы. Текст программы.

Университетская электронная библиотека.
www.infoliolib.info

Часть полного текста документа:

ПРОГРАММА - РЕЗИДЕНТ ПЕРЕКЛЮЧАТЕЛЯ АЛЬТЕРНАТИВНОЙ КОДИРОВКИ
    
    ВВЕДЕНИЕ
    С самого начала существования IBM совместимых компьютеров встала проблема вывода на экран и ввода с клавиатуры символов кириллицы. Только начиная с версии MS DOS 6.0 появилась поддержка национальной 866 страницы. До появления версии MS DOS 6.0 проблему решали так называемые программы русификаторы. Эти программы замещали символы дополнительного кодового набора. Делалось это путем подстановки шрифта прошитого в ПЗУ видеоадаптера своим. Эти программы были практически на каждом компьютере. Самыми известными из них являлись ENHFONT, KEYRUSS, LMSCR&LMKEY, KYRILLIC. Был еще один способ решить проблему русификации - перепрограммировать ПЗУ видеоадаптера, но он не нашел большого применения.
    
    ОПИСАНИЕ ПРОГРАММЫ
    Поскольку данная программа относиться к типу программ, которые меняют шрифт загружающийся из ПЗУ видеоадаптера, то сначала она открывает файл находящийся в этом же каталоге в котором находиться шрифт 8х16. После этого программа читает 4096 байт и помещает их в буфер. Затем загружаются полученные данные в видеобуфер, другими словами меняется текущий шрифт на новый. Следующий шаг программы это получение, сохранение и установка своих обработчиков 10h и 09h прерываний. После данных операций программа завершает работу и остается резидентной используя 27h прерывание, причем в регистре DX находится первый байт памяти после резидентной части программы.
    Общая логика работы показана на рис. 1.1 и 1.2
    
    Рис. 1.1
    
    
    Рис. 1.2
    
    
    1.1 ОБРАБОТКА INT 09h
    
    
    Обработка 09h программой представлена на рис. 1.3 и 1.4
    
    
    Рис. 1.3
    
    
    Рис. 1.4
    
    1.2 ОБРАБОТКА INT 10h
    
    
    Обработка 10h программой представлена на рис. 1.5
    
    
    
    
    
    Рис. 1.5
    
    
    
    
    ЗАКЛЮЧЕНИЕ
    
    
    Данная программа имеет следующие недостатки:
    Может использоваться только в ДОС - режиме
    Клавиша переключающая раскладки неизменяемая
    Во время работы программы файл со шрифтом должен находиться в том же каталоге, где находится русификатор
    Файл шрифта должен быть только с именем "8х16.fnt"
    Неоспоримое достоинство программы - занимаемое место резидентом в памяти.
    
    ПРИЛОЖЕНИЕ 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
    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
    mov es,ax ; es = сегмент данных BIOS
    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 ; увеличиваем смещение в табл. ............




Нет комментариев.



Оставить комментарий:

Ваше Имя:
Email:
Антибот:  
Ваш комментарий:  



Похожие работы:

Название:Особенности цветного проявления, оценка качества аппаратуры и программного обеспечения
Просмотров:180
Описание: Содержание фотография цветное проявление качество аппаратура 1.Сущность цветной фотографии 2.Особенности качества БРЭА класса Hi-End Список использованной литературы   1.Сущность цветной фотографи

Название:Оценка условий движения на подходах к перекрестку и программа светофорного регулирования
Просмотров:188
Описание: Оценка условий движения на подходах к перекрестку и программа светофорного регулирования Условия движения на подходах к перекрестку № п/п Показатель Подходы 1 Длина контролируемого

Название:Образование Директории и ее программные положения
Просмотров:219
Описание: Контрольная работа по курсу История Украины Тема: «Образование Директории и ее программные положения» Севастополь 2010г. План Введение 1 Образо

Название:Расчет гидропривода многоцелевого сверлильно-фрезерно-расточного станка с числовым программным управлением
Просмотров:103
Описание: Содержание 1. Введение         1.1 Описание гидравлической схемы станка 1.2 Описание механизма расфиксации магазина 1.3 Описание гидропривода механизма расфиксации магазина 2. Расчет и выбор элементов г

Название:Язык Paskal. Основные элементы языка. Структура программы
Просмотров:101
Описание: Содержание   Введение 1. Структура программы 2. Алфавит языка 3. Простейшие конструкции 4. Выражения 5. Типы данных 6. Операции Заключение Литература     Введение Тема реферата "Я

 
     

Вечно с вами © MaterStudiorum.ru