- •Лабораторная работа № 1.
- •Функция 0ен
- •Функция 1ан
- •Функция 2fh
- •Функция 36н Определяет параметры диска
- •Функция 39н
- •Функция 3ан Удаляет каталог с диска
- •Функция 3вн Меняет текущий каталог на заданный
- •Функция 3сн Создаёт хендл (новый файл) на диске
- •Функция 3dн Открывает хендл (открывает файл) на диске
- •Функция 3ен
- •Функция 3fh
- •Функция 40н
- •Функция 41н
- •Функция 42н
- •Функция 43h
- •Функция 47н
- •Функция 4ен
- •Функция 4fh
- •Функция 56н
- •Функция 57н
- •Функция 5ан
- •Прерывание 25н
- •Прерывание 26н
- •Пример выполнения работы Создать новую директорию new_dir на диске а:, сделать ее текущей, записать туда файл newfile.Txt и в него записать сообщение - "Это вновь созданный файл".
- •Порядок выполнения работы
- •Вопросы по теме работы
- •Лабораторная работа № 2
- •Функция 00н
- •Функция 01н
- •Функция 02н
- •Функция 03н
- •Функция 04н
- •Флаг переноса установлен
- •Функция 05н
- •Пример выполнения работы
- •Порядок выполнения работы
- •Варианты заданий. Не использовать функции dos !!!.
- •Вопросы по теме работы.
- •Приложение а. Функция disk_status
- •Приложение в. Параметры 360к дискеты.
- •Лабораторная работа № 3
- •Основные сведения
- •Функция Назначение
- •Функция 00н
- •Функция 01h
- •Функция 02h
- •Функция 03h
- •Пример выполнение работы
- •Контрольные вопросы
- •Лабораторная работа № 4
- •Основные сведения
- •Функция 00h
- •Функция 01h
- •Функция 02h
- •Система команд матричного принтера
- •Система команд принтера фирмы Epson.
- •Команды форматирования текста
- •Команды печати графических изображений.
- •Пример выполнения работы.
- •Порядок выполнения работы
- •Варианты заданий.
- •Контрольные вопросы
- •Лабораторная работа № 5 Таймер и генерация звука.
- •Форматы управляющих команд таймера.
- •Использование каналов в ibm pc.
- •Генерация звука.
- •Частоты нот для второй октавы
- •Варианты заданий.
- •Вопросы по теме работы.
- •Лабораторная работа № 6 Работа с драйвером мыши.
- •Обращение к драйверу мыши из ассемблера
- •Функции драйвера мыши.
- •Функция 00h
- •Показать курсор
- •Функция 06н
- •Функция 07h
- •Функция 08h
- •Функция 09h
- •Функция 0Ah
- •Функция 0Bh
- •Функция 0Сh
- •Функция 0Dh
- •Функция 0Eh
- •Функция 0Fh
- •Функция 10h
- •Функция 13h
- •Функция 15h
- •Функция 16h
- •Функция 17h
- •Функция 18h
- •Программирование с использованием драйвера мыши.
- •Пример выполнения работы.
Порядок выполнения работы
Написать программу на языке ассемблера согласно варианту задания. Получить у преподавателя кабель связи ЭВМ и принтера. Подключить принтер к ЭВМ и проверить его работоспособность. Отладить программу и получить распечатку на принтере согласно заданию.
Варианты заданий.
1. Перепрограммировать символ 35 на математический символ интеграла.
2. Вывести на печать математический символ суммы черновым шрифтом в графическом режиме.
3. Вывести на печать математический символ суммы высотой 4 строки в графическом режиме.
4. Вывести текстовую строку на печать всеми возможными комбинациями шрифтов и размеров.
5. Перепрограммировать символ 23 на математический символ суммы.
6. Вывести на печать математический символ суммы высотой 2 строки в графическом режиме.
7. Вывести на печать математический символ суммы качественным шрифтом в графическом режиме (использовать два прохода печати).
8. Скопировать на принтер текст с дисплея, заглавные буквы выделять подчеркиванием.
Контрольные вопросы
1. Какие возможности предоставляет BIOS для работы с печатающим устройством ?
2. Какие параметры определяют состояние принтера ?
3. Какие команды управления режимами печати Вы знаете ?
4. Какие команды входят в группу команд форматирования текста ?
5. Как описывается новый загружаемый символ ?
6. Как распечатать графическое изображение ?
Лабораторная работа № 5 Таймер и генерация звука.
Для задания временных интервалов и формирования сигналов с различными временными параметрами в IBM PC/XT применяется программируемый таймер 8253, в AT - 8254. С точки зрения программиста они идентичны. В состав таймера входят: буфер шины данных, схема управления вводом-выводом и три независимых канала: канал 0, канал 1, канал 2.
Каждый канал содержит следующие регистры:
- состояния канала RS (8 разрядов);
- управляющего слова RSW (8 разрядов);
- буферного регистра OL (16 разрядов);
- регистра счетчика СЕ (16 разрядов);
- регистр констант пересчета CR (16 разрядов).
Каналы таймера подключаются к внешним устройствам при помощи трех линий:
GATE - управляющий вход;
CLK (CLOCK) - вход тактовой частоты;
OUT - выход таймера.
Регистр счетчика СЕ работает в режиме вычитания. Его содержимое уменьшается по заднему фронту сигнала CLK при условии, что на вход GATE подан уровень логической единицы. В зависимости от режима боты таймера при достижения счетчиком СЕ нуля тем или иным способом изменяется выходной сигнал OUT.
Регистр констант пересчета CR может загружаться в регистр счетчика, если это требуется в текущем режиме работы таймера.
Схема взаимодействия регистров канала i (i=0,1,2):
Программирование канала осуществляется путем вывода управляющих слов в регистр управляющего слова и начального значения в его счетчики.
В озможны 6 режимов работы каналов таймера.
Однако на практике используются только 2 из них: второй и третий.
Режим 2 (генератор импульсов). При загрузке в регистр CR значения счетчика происходит автоматическая пересылка его в счетчик СЕ. Если на входе GATE установлен высокий уровень сигнала (счет разрешен), то происходит декремент регистра СЕ с приходом каждого тактового импульса. Когда значение счетчика становится равным 0, на выходе OUT генерируется короткий отрицательный импульс и происходит новая загрузка счетчика значением, находящимся в регистре CR (новым или прежним). Если на вход GATE подается низкий уровень сигнала, то счет прекращается и на выходе OUT возникает высокий уровень сигнала (импульсы не выдаются). При новом разрешении счета происходит перезагрузка счетчика. Таким образом происходит генерация коротких импульсов с постоянной частотой, зависящей от числа в регистре CR.
Режим 3 (генератор меандра). Аналогичен режиму 2, но длительность отрицательного и положительных импульсов на выходе OUT за один цикл счетчика равны и составляют половину периода счета. Если в CR загружено четное число, то длительность положительного и отрицательного импульсов равна n*Т/2, где n - число в CR, Т - период тактовых импульсов. Если в CR загружено нечетное число, то длительность положительного импульса равна (n+1)*Т/2, а отрицательного - (n-1)*Т/2. Таким образом генерируется последовательность чередующихся импульсов одинаковой длительности.