Курсовая работа: Завантажувач шрифтів
старший бит=0-используется нижняя
игла,1-верхняя.Сетка 9х11
1b 26 0 n1 n2 abcДля загрузки (N)LQ сетка 18х12.
d00 d01 d02 d10 d11a-пробел слева от знака, с-справа,
... dc0 dc1 dc2 b-ширина
ESC : 0 n 0 1b 3a 30 n 30 Копирует ПЗУ в ОЗУ, n=0-Roman,1-SS
ESC % n 1b 25 n Выбор знаков: 0-ПЗУ, 1-ОЗУ
ESCI 0/1 1b 49 0/1 Выкл/вкл печати кодов 0-1f,80-9f
Графіка
ESC . nn 1b 2ecvhmn1 n2Печать растровой графики:
d1 ... c=0 обычный режим, 1-со сжатием
v(h)=10,20 3600/v(h) dpi верт(гор)
m=1-24 число верт. точек
n=n2*256+n1 число гор. точек
сочетание v=10,h=20 запрещено
4. Розрахунки та експерементальні матеріали, які підтверджують правильність конструкторських, програмних рішень. Реалізація проекту
Дана програма написана на мові програмування ASM-86. Цей вибір зумовлений тим, що на мові асемблера також можна отримати цілковитий контроль над комп’ютером.
Fontload спочатку відкриває принтер, а потім читає файл шрифта в память. Коли він не знаходить файл шрифта, він повідомляє про це та закінчує свою роботу.
В залежності від типу принтера загружає шрифт в принтер, якщо він піддержує, чи друкує рядок в графиці.
5. Інструкція користувача
Для запуску програми потрібно запустити файл fontload.exe. Потім вказати принтер, у який слід завантажити шрифт і шлях до файлу зі шрифтом.
Основні висновки
Коли творилася ця програма, був вивчений паралельний інтерфейс, його робота, та робота принтера. Програма для завантаження шрифтів у принтер є структурованою і легко читаємою. Кожен програміст може вдосконалити її, чи зробити більш зручною для себе. Вона не має великих системних запросів і дуже проста у використанні.
Використана література
1. The Microsoft(R) Guide for Assembly Language and C Programmers
2. ПРОГРАММНО-АППАРАТНАЯ ОРГАНИЗАЦИЯ КОМПЬЮТЕРА IBM PC. Prentice-Hall Publishing Comp.,1984
3. Фролов А.В., Фролов Г.В., Операционная система MS-DOS. – М.: “ДИАЛОГ-МИФИ”, 1991. – (Библиотека системного программиста)
“Руководство по программированию” П. Нортон, Р. Уилтон 1994
Додатки
Лістинг програми
.model tiny
.stack 200h
.data
Msg1 db 'Выберите пинтер $'
Msg2 db 'Все нормально $'