🗊Презентация Подсистема прерываний. Лабораторная работа №3

Нажмите для полного просмотра!
Подсистема прерываний. Лабораторная работа №3, слайд №1Подсистема прерываний. Лабораторная работа №3, слайд №2Подсистема прерываний. Лабораторная работа №3, слайд №3Подсистема прерываний. Лабораторная работа №3, слайд №4Подсистема прерываний. Лабораторная работа №3, слайд №5Подсистема прерываний. Лабораторная работа №3, слайд №6Подсистема прерываний. Лабораторная работа №3, слайд №7Подсистема прерываний. Лабораторная работа №3, слайд №8Подсистема прерываний. Лабораторная работа №3, слайд №9

Вы можете ознакомиться и скачать презентацию на тему Подсистема прерываний. Лабораторная работа №3. Доклад-сообщение содержит 9 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Подсистема  прерываний
Лабораторная  работа  №3
Описание слайда:
Подсистема прерываний Лабораторная работа №3

Слайд 2





К теме:
Организация подсистемы прерываний. Контроллер прерываний.
Цель работы
Изучить организацию прерываний в IBM PC с использованием контроллера прерываний.
Продолжительность работы - 4 часа.
Описание слайда:
К теме: Организация подсистемы прерываний. Контроллер прерываний. Цель работы Изучить организацию прерываний в IBM PC с использованием контроллера прерываний. Продолжительность работы - 4 часа.

Слайд 3





Контроллер прерываний
Описание слайда:
Контроллер прерываний

Слайд 4





Задание
Под MS DOS написать программу, которая:
1) выполняет инициализацию контроллера прерываний;
Описание слайда:
Задание Под MS DOS написать программу, которая: 1) выполняет инициализацию контроллера прерываний;

Слайд 5





Задание
Под MS DOS написать программу, которая:
1) выполняет инициализацию контроллера прерываний;
2) выводит на экран содержимое регистров запросов, обслуживаний и масок для ведущего и ведомого контроллеров (через видеобуфер).
Описание слайда:
Задание Под MS DOS написать программу, которая: 1) выполняет инициализацию контроллера прерываний; 2) выводит на экран содержимое регистров запросов, обслуживаний и масок для ведущего и ведомого контроллеров (через видеобуфер).

Слайд 6





Задание
Под MS DOS написать программу, которая:
1) выполняет инициализацию контроллера прерываний;
2) выводит на экран содержимое регистров запросов, обслуживаний и масок для ведущего и ведомого контроллеров (через видеобуфер).
 *При нажатии на клавиши меняется цвет или фон выводимой информации.
Описание слайда:
Задание Под MS DOS написать программу, которая: 1) выполняет инициализацию контроллера прерываний; 2) выводит на экран содержимое регистров запросов, обслуживаний и масок для ведущего и ведомого контроллеров (через видеобуфер). *При нажатии на клавиши меняется цвет или фон выводимой информации.

Слайд 7





Пример (test3.cpp)
int main()
{
	unsigned far *fp; 	//объявляем указатель
	init();
	FP_SEG (fp) = _psp; // получаем сегмент
	FP_OFF (fp) = 0x2c; // и смещение сегмента данных  			     	     //с переменными среды,
	_dos_freemem(*fp);  //чтобы освободить память
	_dos_keep(0,(_DS -_CS)+(_SP/16)+1);
//оставляем резидентной
	return 0;
}
Описание слайда:
Пример (test3.cpp) int main() { unsigned far *fp; //объявляем указатель init(); FP_SEG (fp) = _psp; // получаем сегмент FP_OFF (fp) = 0x2c; // и смещение сегмента данных //с переменными среды, _dos_freemem(*fp); //чтобы освободить память _dos_keep(0,(_DS -_CS)+(_SP/16)+1); //оставляем резидентной return 0; }

Слайд 8





Пример (test3.cpp)
void init()
{
	intOld = getvect(0x__);//старые обработчики 08-0F, 70-77
	...
	setvect(0x__, intNew); // свои обработчики
	...
	_disable(); // запретить прерывания (cli)
	outp(0x20, 0x11); // ICW1
	outp(0x21, 0x70); // ICW2
	outp(0x21, 0x04); // ICW3
	outp(0x21, 0x01); // ICW4
	...
	_enable(); // разрешить прерывания (sti)
}
Описание слайда:
Пример (test3.cpp) void init() { intOld = getvect(0x__);//старые обработчики 08-0F, 70-77 ... setvect(0x__, intNew); // свои обработчики ... _disable(); // запретить прерывания (cli) outp(0x20, 0x11); // ICW1 outp(0x21, 0x70); // ICW2 outp(0x21, 0x04); // ICW3 outp(0x21, 0x01); // ICW4 ... _enable(); // разрешить прерывания (sti) }

Слайд 9





Пример (test3.cpp)
void interrupt  intNew(...) { get_reg(); intOld(); }
void get_reg() // получить состояние регистров
{
	outp(0x20, 0x0B); //РО для ведущего
	print(inp(0x20));
	...
}
void print(int val) // распечатать состояние регистров
{	int i;
	VIDEO far* screen = (VIDEO far *)MK_FP(0xB800, 0);
	for(i=7;i>=0;i--)        //поделить по битам
	{		
		screen->symb= val%2 +'0'; //заполнить экран
		screen->attr=0x5E;
		screen++;
		val/=2;
	}
}
Описание слайда:
Пример (test3.cpp) void interrupt intNew(...) { get_reg(); intOld(); } void get_reg() // получить состояние регистров { outp(0x20, 0x0B); //РО для ведущего print(inp(0x20)); ... } void print(int val) // распечатать состояние регистров { int i; VIDEO far* screen = (VIDEO far *)MK_FP(0xB800, 0); for(i=7;i>=0;i--) //поделить по битам { screen->symb= val%2 +'0'; //заполнить экран screen->attr=0x5E; screen++; val/=2; } }



Похожие презентации
Mypresentation.ru
Загрузить презентацию