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

лабы 1-й сем / лаба 5 / 5_lab_12_team

.docx
Скачиваний:
4
Добавлен:
09.01.2023
Размер:
96.12 Кб
Скачать

МИНОБРНАУКИ РОССИИ

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ

ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)

Кафедра вычислительной техники

ОТЧЕТ

по лабораторной работе №5

по дисциплине «Организация ЭВМ и систем»

Тема: “использование аппаратных прерываний

Преподаватель

_______________ Анисимов А.В.

Санкт-Петербург

2022

Цель работы.

Целью работы является знакомство с различного вида аппаратными прерываниями и создание собственных подпрограмм обработки прерываний

Задание

Разработать алгоритм и реализовать программу подключения собственной подпрограммы обработки прерывания и использовать её в цепочке со стандартной подпрограммой обработки прерывания от системного таймера компьютера.

Блок-схема алгоритма:

Текст программы

#include "dos.h"

#include "conio.h"

void interrupt(far *oldvect)(...);

long ticks, clics;

void interrupt far timer(...) {

if (!(++ticks % 10))

cprintf("*");

_chain_intr(oldvect);

}

int main(){

clrscr();

char choice;

ticks = 0;

oldvect = _dos_getvect(0x1c);

_dos_setvect(0x1c, timer);

cprintf("Timer set (for end press any button)\n\r");

getch();

_dos_setvect(0x1c, oldvect);

cprintf("\n\rPress any button...");

getch();

return 0;

}

Пример выполнения программы

Структурная схема аппаратных средств

Вывод

При выполнении лабораторной работы были изучены различные виды аппаратного прерывания, создана собственная подпрограмма обработки прерываний и ознакомлены со стандартными средствами библиотеки C++ и средствами системы прерываний DOS и BIOS. Написание и отладка программы происходили в Turbo C++.

Соседние файлы в папке лаба 5