Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
13
Добавлен:
20.06.2014
Размер:
76.29 Кб
Скачать

Задание

на курсовую работу по дисциплине 'ЭВМ и вычислительные системы'

Утверждено на заседании кафедры автоматики и электроники в машиностроении Коломенского института МГОУ.

1. Общие требования

1.1. Курсовая работа (КР) посвящена разработке резидентной программы, работающей на платформе MS-DOS.

  1. КР должна быть оформлена в виде пояснительной записки.

  2. Пояснительная записка должна содержать:

  • титульный лист (образец см. в приложении 1);

  • задание;

  • содержание;

  • основную часть;

  • список используемой литературы.

Страницы должны быть пронумерованы.

1.4. Основная часть должна содержать введение, блок-схему алгоритма, текст программы с описанием, выводы. Во введении (1..3 стр.) должны быть отражены общие вопросы создания и использования резидентных программ (РП) : назначение, особенности структуры, способы загрузки и выгрузки из памяти, способы запуска на исполнение. Выводы должны содержать результаты, полученные в ходе выполнения КР, а также анализ соответствия этих результатов требованиям задания. Пояснительная

Записка должна быть оформлена в текстовом редакторе Microsoft Word.

2. Задание

2.1. Разработать РП на языке ассемблера персональных компьютеров типа IBM PC, работающих под управлением операционной системы MS-DOS в реальном режиме. РП должна загружаться в оперативную память и выгружаться из неё командой с соответствующими ключами. В РП должна быть предусмотрена защита от повторной загрузки. Операции загрузки, выгрузки и повторной загрузки должны сопровождаться выводом на экран поясняющих сообщений. Специальное задание взять из п. 2.2 согласно заданному варианту.

2.2. Специальные задания

  1. Ключ загрузки - /I. Ключ выгрузки - /2. РП обслуживает прерывание от таймера (вектор 1Ch) . Обработчик прерывания (ОП) в ответ на каждый 256-й запрос выводит на экран сообщение о режиме ввода, установленном клавишей Caps Lock, например, "Режим Caps Lock включен (выключен)!".

  2. Ключ загрузки - /ON. Ключ выгрузки - /OFF. РП запускается сочетанием клавиш Ctrl+A (прерывание от клавиатуры с вектором 9) с подключением ОП до системного и выводит на экран текущее время в виде <ч>:<мин.>:<с>, например, 10:11:00.

2.2.3. Ключ загрузки - /L. Ключ выгрузки - /U. РП запускается из другой программы командой INT 60h и выводит на экран сообщение о состоянии буфера клавиатуры (БК) : БК пуст (не пуст), и если не пуст, то количество символов в БК.

2.2.4. Ключ загрузки - /LOAD. Ключ выгрузки - /UNLOAD. РП запускается сочетанием клавиш Ctrl+B (прерывание от клавиатуры с вектором 9) с подключением ОП после системного и выводит на экран содержимое регистров Flags, SI, DI.

2.2.5. Ключ загрузки - /ADD. Ключ выгрузки - /REMOVE. РП запускается сочетанием клавиш Ctrl+D (прерывание от клавиатуры с вектором 9) с подключением ОП до системного с самостоятельным завершением и выводит напрямую в видеобуфер в пятую строку экрана сообщение вида "КР по курсу ЭВМ и ВС с-та гр. <номер группы> <Ф.И.О.> вариант <номер варианта>".

  1. Ключ загрузки - /L. Ключ выгрузки - /UNL. РП обслуживает прерывание от таймера (вектор 1Ch) . ОП в ответ на каждый 128-й запрос выводит на экран сообщение о режиме ввода, установленном клавишей Num Lock, например, "Режим Num Lock включен (выключен)! " .

  2. Ключ загрузки - /А. Ключ выгрузки - /R. РП запускается сочетанием клавиш Ctrl+E (прерывание от клавиатуры с вектором 9) с подключением ОП до системного и выводит на экран сообщение в виде "Внимание!" и непрерывный звуковой сигнал длительностью 5 с на частоте 1000 Гц.

  3. Ключ загрузки - /М. Ключ выгрузки - /RЕМ. РП запускается из другой программы командой INT 61h и выводит на экран содержимое регистров 8I. и SP.

  4. Ключ загрузки - /LO. Ключ выгрузки - /UNLO. РП запускается сочетанием клавиш Ctrl+E (прерывание от клавиатуры с вектором 9) с подключением ОП после системного и выводит на экран адрес ОП в виде [<сегмент>]: [<смещение>].

  1. Ключ загрузки - /add. Ключ выгрузки - /г. РП запускается сочетанием клавиш Ctrl+G (прерывание от клавиатуры с вектором 9) с подключением ОП до системного с самостоятельным завершением и выводит на экран значения флагов байта статуса кла­- виатуры (адрес [0040h]:[0017h]) .

  2. Ключ загрузки - /Z. Ключ выгрузки - /V. РП обслуживает прерывание от таймера (вектор 1Ch) . ОП в ответ на каждый 64-й запрос выводит на экран текущее время в виде <ч>:<мин>:<с>, например, 10:11:00.

  3. Ключ загрузки - /ZAG. Ключ выгрузки - /RE. РП запускается сочетанием клавиш Ctrl+H (прерывание от клавиатуры с вектором 9) с подключением ОП до системного и выводит на экран адреса собственного и системного ОП в виде [<сег- мент>]: [<смещение>].

  4. Ключ загрузки - /MOV. Ключ выгрузки - /REMOV. РП запускается из другой программы командой INT 62h и выводит на экран значения флагов байта статуса клавиатуры (адрес [0040h]:[0018h]).

  5. Ключ загрузки - /2. Ключ выгрузки - /3. РП запускается сочетанием клавиш

Ctrl+L (прерывание от клавиатуры с вектором 9) с подключением ОП после системного выводит на экран сообщение в виде "Внимание!" и звуковой сигнал длительностью 5 с с параметрами: длительность звучания - 1 с, длительность паузы - 1 с, частота - 500 Гц.

2.2.15. Ключ загрузки - /5. Ключ выгрузки - /6. РП запускается сочетанием клавиш Ctrl+M (прерывание от клавиатуры с вектором 9) с подключением ОП до системного с самостоятельным завершением и выводит на экран текущий день недели в виде ПН, ВТ, СР, ЧТ, ПТ, СБ, ВС.

2.2.16. Ключ загрузки - /zagr. Ключ выгрузки - /unz. РП обслуживает прерывание IRQ8 от часов реального времени (CMOS) с вектором 70h с подключением ОП до системного. ОП выводит на экран текущее время в виде <ДН> день недели, <ч> ч., <мин. > мин., например, Пн 10 ч. 11 мин..

2.2.17. Ключ загрузки - /Y. Ключ выгрузки - /N. РП запускается сочетанием клавиш Ctrl+V (прерывание от клавиатуры с вектором 9) с подключением ОП до системного и выводит на экран сообщение о количестве и типах НГМД.

2.2.18. Ключ загрузки - /move. Ключ выгрузки - /remove. РП запускается из другой программы командой INT 63h. ОП читает из CMOS и выводит на экран текущую дату в виде <число>/<месяц>/<год> г., например, 01/01/2000 г.

2.2.19. Ключ загрузки - /SET. Ключ выгрузки - /DEL. РП обслуживает прерывание от таймера (вектор 1Ch) . Обработчик прерывания (ОП) в ответ на каждый 100-й запрос выводит на экран текущее время в виде <ч> час. <мин. > мин. <с> сек., например, 23 час. 29 мин. 05 сек..

2.2.20. Ключ загрузки - /MOVE. Ключ выгрузки - /REMOVE. РП запускается сочетанием клавиш Ctrl+Z (прерывание от клавиатуры с вектором 9) с подключением ОП после системного и выводит на экран сообщение в виде "Внимание!" и непрерывный звуковой сигнал длительностью 5 с на частоте 200 Гц.

2.2.21. Ключ загрузки - /S. Ключ выгрузки - /D. РП запускается из другой программы командой INT F1h и выводит на экран текущий день недели в виде ПН, ВТ, СР, ЧТ, ПН, СБ, ВС (рабочие дни - с белым, а выходные дни - с красным цветом символов).

2.2.22. Ключ загрузки - /М. Ключ выгрузки - /R. РП запускается сочетанием клавиш Ctrl+Y (прерывание от клавиатуры с вектором 9) с подключением ОП до системного и выводит на экран содержимое регистров CS, SP, SS.

2.2.23. Ключ загрузки - /LOAD. Ключ выгрузки - /RELOAD. РП запускается сочетанием клавиш Ctrl+X (прерывание от клавиатуры с вектором 9) с подключением ОП до системного с самостоятельным завершением и выводит напрямую в видеобуфер в десятую строку экрана красными символами на голубом фоне мигающее сообщение о типе монитора, например, "Монитор VGA, текстовый режим: 40 строк, 25 символов в строке".

I / 2.2.24. Ключ загрузки - /SETUP. Ключ выгрузки - /UNINS. РП обслуживает прерывание от таймера (вектор 1Ch) . ОП в ответ на каждый 200-й запрос выводит на экран адрес головы буфера клавиатуры в виде [сегмент]: [смещение].

2.2.25. Ключ загрузки /INSTALL. Ключ выгрузки /UNINSTALL. РП запускается сочетанием клавиш Ctrl+W (прерывание от клавиатуры с вектором 9) с

подключением ОП до системного и выводит в центре экрана ромбовидное окно с номером группы и Ф.И.О. студента.

2.2.26. Ключ загрузки - /Z. Ключ выгрузки - /V. РП запускается из другой программы командой INT F2h и выводит на экран таблицу разрешения маскируемых аппаратных прерываний в соответствии с текущей маской ведущего контроллера прерываний.

2.2.27. Ключ загрузки - /SE. Ключ выгрузки - /UNSE. РП запускается сочетанием клавиш Ctrl+V (прерывание от клавиатуры с вектором 09h) с подключением ОП после системного и выводит на экран сообщение о типе монитора, например, "Монитор VGA,

текстовый режим: 40 строк, 25 символов в строке".

  1. Ключ загрузки - /L. Ключ выгрузки - /U. РП запускается сочетанием клавиш Ctrl+U (прерывание от клавиатуры с вектором 09h) с подключением ОП до системного с самостоятельным завершением и выводит на экран размер обнаруженной дополнительной памяти .

  2. Ключ загрузки - /1. Ключ выгрузки - /2. РП обслуживает прерывание от таймера (вектор 1Ch) . ОП в ответ на каждый 500-й запрос выводит на экран адрес хвоста буфера клавиатуры в виде [сегмент]: [смещение].

  3. Ключ загрузки - /ZAG. Ключ выгрузки - /RE. РП запускается сочетанием клавиш Ctrl+T (прерывание от клавиатуры с вектором 09h) с подключением ОП до системного и выводит на экран значения флагов байта статуса клавиатуры (адрес [0040h]:[0018h]).

2.2.31. Ключ загрузки - /set. Ключ выгрузки - /clear. РП запускается из другой программы командой INT F3h и выводит напрямую в видеобуфер в первую строку экрана жёлтыми символами на синем фоне сообщение вида "Аппаратные прерывания разрешены!", если Flags.IF = 1, и "Аппаратные прерывания запрещены!". Flags. IF=0.

  1. Ключ загрузки - /add. Ключ выгрузки - /rem. РП запускается сочетанием клавиш Ctrl+S (прерывание от клавиатуры с вектором 09h) с подключением ОП после системного и выводит на экран таблицу разрешения маскируемых аппаратных прерываний в соответствии с текущей маской ведомого контроллера прерываний.

  2. Ключ загрузки - /inst. Ключ выгрузки - /unin. РП запускается сочетанием клавиш Ctrl+R (прерывание от клавиатуры с вектором 09h) с подключением ОП до системного с самостоятельным завершением и выводит на экран содержимое регистров SS, SP, SI, DI..

  3. Ключ загрузки - /zagruzka. Ключ выгрузки - /unzagr. РП обслуживает прерывание IRQ8 от часов реального времени (CMOS) с вектором 70h с подключением ОП до системного. ОП выводит на экран количество символов, находящихся в буфере клавиатуры.

  4. Ключ загрузки - /оn. Ключ выгрузки - /off. РП запускается сочетанием клавиш Ctrl+P (прерывание от клавиатуры с вектором 09h) с подключением ОП до системного и выводит на экран прямоугольное окно с синим цветом фона, обрамлённое белой двойной рамкой и содержащее сообщение "Здравствуйте!" (цвет символов - белый).

  5. Ключ загрузки - /yes. Ключ выгрузки - /nо. РП запускается из другой программы командой INT F4h и выводит на экран сообщение в виде "Привет!", а также непрерывный звуковой сигнал длительностью 6 с на частоте 600 Гц.

Приложение 1

Министерство образования Российской Федерации

Коломенский институт

Московского Государственного

Открытого Университета

Кафедра "Автоматика и электроника в машиностроении"

Курсовая работа по дисциплине ЭВМ и ВС

(пояснительная записка)

Выполнил: студент группы <№ группы> <Ф.И.О студента>

Принял: <должность> <Ф.И.О. преподавателя>

Принял: <должность> <Ф.И.О. преподавателя>

г. Коломна, <год> г.

Соседние файлы в папке Кр и методичка Разработка резидентной программы в MS DOS