Отчёт по эвм. Отчет_эвм_лаба_5_Афанасова. Использование аппаратных прерываний
Скачать 112.48 Kb.
|
МИНОБРНАУКИ РОССИИ Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В.И. Ульянова (Ленина) Кафедра вычислительной техники отчет по лабораторной работе №5 по дисциплине «Организация ЭВМ и систем» Тема: Использование аппаратных прерываний
Санкт-Петербург 2022 Цель работы Цель работы – знакомство с различного вида аппаратными прерываниями и создание собственных подпрограмм обработки прерываний. Формулировка задания По заданию преподавателя разработать алгоритм и реализовать программу подключения собственной подпрограммы обработки прерывания и использовать её в цепочке со стандартной подпрограммой обработки прерывания от одного из следующих устройств компьютера: 1. системный таймер; 2. клавиатура; 3. контроллер накопителя на гибких магнитных дисках; 4. таймер реального времени; 5.контроллер накопителя на жёстком магнитном диске. Техническое задание Разработать алгоритм и реализовать программу подключения собственной подпрограммы обработки прерывания и использовать её в цепочке со стандартной подпрограммой обработки прерывания системного таймера. Результат работы программы В результате вызова функции собственного прерывания на экран будет выведено строку “ TEST PER 2 SECONDS ” с интервалом в 2 секунды (рисунок 1). Рисунок 1 — Результат работы программы
Структурная схема аппаратных средств Исходный код программы #include #include #include unsigned long far* N = (unsigned long far*) MK_FP(0x0040, 0x006c); void interrupt Custom(...) { if (*N % 36L == 0) { cputs(" TEST PER 2 SECONDS"); } } int main() { void interrupt(*base)(...); base = getvect(0xc1); setvect(0x1c, Custom); getch(); setvect(0x1c, base); return 0; } |