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

2017 Холод / ЭВМ 5

.docx
Скачиваний:
30
Добавлен:
14.11.2018
Размер:
59.6 Кб
Скачать

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

Федеральное государственное автономное образовательное

учреждение высшего профессионального образования

«Санкт-Петербургский государственный электротехнический

университет «ЛЭТИ» им. В. И. Ульянова (Ленина)»

(СПбГЭТУ «ЛЭТИ»)

Факультет компьютерных технологий и информатики

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

Отчёт

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

на тему:

  1. «ИСПОЛЬЗОВАНИЕ АППАРАТНЫХ ПРЕРЫВАНИЙ»

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

Выполнил:

Студент группы 6307

Лазарев С. О.

Принял:

Иванов П. В.

Подпись:________________

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

Оглавлени

«ИСПОЛЬЗОВАНИЕ АППАРАТНЫХ ПРЕРЫВАНИЙ» 1

1. Задание 3

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

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

1. Задание 3

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

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

  1. 1. Задание

Каждые 5 секунд выводить на экран значения регистров, которые использует жесткий диск.

  1. 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, &regs, &regs);

f = ((regs.h.dh & 0xf0) >> 4) * 10 + (regs.h.dh & 0x0F);

while (g == 1)

{

reg.h.ah = 0x2;

int86(0x1a, &reg, &reg);

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);

}

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

4

Соседние файлы в папке 2017 Холод