Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебная практика 2-го курса.doc
Скачиваний:
20
Добавлен:
28.09.2019
Размер:
161.79 Кб
Скачать

Тема 2. Программирование клавиатуры Теоретические вопросы:

1. Ознакомиться с основами работы клавиатуры:

  • принципами работы контроллера клавиатуры (микросхема 8042);

  • формированием ASCII- и скэн-кодов;

  • аппаратным прерыванием номер 9 (IRQ 1);

  • портами МП, используемыми для работы с клавиатурой;

  • функционированием буфера клавиатуры;

  • клавишами регистров (Shift, Ctrl, Alt), переключателей (Caps Look, Num Lock), функциональными (F1,…F12), управления курсора (, Home, PgDn, …);

  • реакцией на комбинации Ctrl-Alt-Del, Ctrl-Break, Ctrl-Num Lock, Shift-PrtScr;

  • прямым вводом кодов ASCII (Alt+цифра_доп);

  • автоматическим повторением действия клавиш (длительным нажатием);

  • байтами состояния клавиатуры (ячейки 417h, 418h).

  1. Изучить функции BIOS и DOS работы с клавиатурой, функции ЯВУ (С, С++ или Pascal), осуществляющие доступ к буферу клавиатуры.

3. Написать программы, демонстрирующие знание вопросов темы.

Примерные варианты заданий

1. Написать собственное прерывание от клавиатуры.

2. Написать программу, анализирующую состояние первого байта состояния клавиатуры.

3. Написать программу, анализирующую состояние второго байта состояния клавиатуры.

4. Написать программу, анализирующую состояние двух байтов состояния клавиатуры.

5. Написать функцию, возвращающую количество символов в буфере клавиатуры

6. Написать программу, изменяющую состояние управляющих клавиш:

вкл откл откл

NumLock CapsLock ScrollLock

7. См. задачу 6.

CapsLock ScrollLock NumLock

8. См. задачу 6.

ScrollLock NumLock CapsLock

9. См. задачу 6.

ScrollLock NumLock CapsLock

10. См. задачу 6.

NumLock CapsLock ScrollLock

11. См. задачу 6.

NumLock CapsLock ScrollLock

12. Перепрограммировать одну клавишу с использованием ESC-последовательностей

Тема 3. Работа с дисковыми накопителями Теоретические вопросы:

  1. Ознакомиться с принципами физической и логической организации дискового пространства

  2. Изучить структуру корневого каталога

  3. Изучить структуру 12-ти и 16-разрядной FAT

  4. Ознакомиться с атрибутами файлов и способами их установления/изменения.

  5. Изучить возможности MS DOS по созданию, удалению, чтению, записи файлов и каталогов (метод дескрипторов).

  6. Разобраться с механизмом буферизации.

  7. Ознакомиться с возможностями перенаправления ввода/вывода.

  8. Написать программы, демонстрирующие знание вопросов темы.

Примерные варианты заданий

Примечание. Все задания относятся к НГМД и ГД

  1. Написать функцию, возвращающую объем доступного дискового пространства.

  2. Написать собственную функцию, определяющую размер файла.

  3. Написать программу, читающую содержимое FAT и определяющую значение кластера с заданным номером.

  4. Написать программу, читающую содержимое FAT и определяющую количество занятых кластеров.

  5. Написать программу, читающую содержимое FAT и определяющую количество свободных кластеров.

  6. Написать программу, читающую содержимое FAT и определяющую количество сбойных кластеров.

  7. Написать программу, выводящую на экран содержимое корневого каталога диска, используя средства BIOS.

  8. Написать программу, выводящую на экран содержимое подкаталога диска, используя средства BIOS.

  9. Написать процедуру, изменяющую заданный атрибут файла, используя средства BIOS.

  10. Написать процедуру, читающую метку тома и заменяющую последний символ метки заданным символом.

  11. Написать программу, демонстрирующую работу с файлами на уровне DOS.

  12. Написать программу, демонстрирующую работу с каталогами на уровне DOS.