2017 Холод / ЭВМ 5
.docxМинистерство науки и образования РФ
Федеральное государственное автономное образовательное
учреждение высшего профессионального образования
«Санкт-Петербургский государственный электротехнический
университет «ЛЭТИ» им. В. И. Ульянова (Ленина)»
(СПбГЭТУ «ЛЭТИ»)
Факультет компьютерных технологий и информатики
Кафедра вычислительной техники
Отчёт
по лабораторной работе № 5
на тему:
-
«ИСПОЛЬЗОВАНИЕ АППАРАТНЫХ ПРЕРЫВАНИЙ»
по дисциплине «Организация ЭВМ и систем»
Выполнил:
Студент группы 6307
Лазарев С. О.
Принял:
Иванов П. В.
Подпись:________________
Санкт-Петербург 2017
Оглавлени
«ИСПОЛЬЗОВАНИЕ АППАРАТНЫХ ПРЕРЫВАНИЙ» 1
1. Задание 3
2. Текст программы 3
3. Структурная схема аппаратных средств 4
1. Задание 3
2. Текст программы 3
3. Структурная схема аппаратных средств 4
-
1. Задание
Каждые 5 секунд выводить на экран значения регистров, которые использует жесткий диск.
-
2. Текст программы
#include <dos.h>
#include <stdio.h>
void get(); void time();
void main(void)
{
while (1) {
time();
get();
}
}
void time()
{
union REGS regs, reg;
int f = 1;
int g = 1;
regs.h.ah = 0x2;
int86(0x1a, ®s, ®s);
f = ((regs.h.dh & 0xf0) >> 4) * 10 + (regs.h.dh & 0x0F);
while (g == 1)
{
reg.h.ah = 0x2;
int86(0x1a, ®, ®);
if ((f + 5) % 60 == (((reg.h.dh & 0xf0) >> 4) * 10 + (reg.h.dh & 0x0F)))
g = 0;
}
}
void get()
{
union REGS in, out;
in.h.ah = 0x08;
in.h.dl = 0x80;
int86(0x13, &in, &out);
printf("status AH: %x\n", out.h.ah);
printf("Disk DL: %x\n", out.h.dl);
printf("number of sides DH: %x\n", out.h.dh);
printf("cylinders CH: %x\n", out.h.ch);
printf("sectors per track CL: %x\n\n", out.h.cl);
}
-
3. Структурная схема аппаратных средств