Курсовая работа: Робота в захищеному режимі мікропроцесора

- Аварія (abort).

Помилка – це виключення, що виникає в ситуації помилкових дій програми й припускається, що таку помилку можна виправити. Виконання програми продовжується починаючи із команди, при якій виникло виключення.

Пастка – це виключення, що виникає відразу після виконання команди. Виконання програми продовжується із наступної команди,що йде за командою на якій виникло виключення. На пастках строїться механізм відладки програм.

Аварія – це виключення, що не дозволяє продовжити виконання перерваної програми і сигналізує про серйозні порушення цілісності системи.

3. Опис програми

Для написання програми для виконання разрахункового завдання, скористались модулем PROT і програмою P_INT, що поставляються разом із індивідуальним завданням. В модулі PROT містяться основні необхідні константи і функції для створення власних таблиць GDT та IDT, для переходу в захищений режим, містяться також заглушки для всіх апаратних і програмних переривань. Програма P_INT містить перевизначення необхідних для роботи, або заданих за індивідуальним завданням переривань, в ній задається вміст таблиць GDT та IDT (в ній визначаються селектори заглушок, або необхідних переривань, на необхідних місцях), програма реалізує перехід в захищений режим, імітує виникнення програмного переривання, а також реалізує вічний цикл, до виникнення апаратного переривання. Після цього реалізується вихід до реального режиму, шляхом скидання мікропроцесору (не працює на нових моделях мікропроцесорів) або шляхом відновлення старої GDT та IDT, і повернення до реального режиму. Нами було додано необхідні по індивідуальному завданню апаратне і програмне переривання, і реалізовано виключну ситуацію для їх виникнення.

4. Текст програми

{----Модуль содержит константы, типы переменных, переменные,----}

{------процедуры и функции для работы в защищенном режиме-------}

unit prot;

interface

uses crt;

const

hex_tabl:array[0..15] of char='0123456789ABCDEF';

s2:string='Run time error: исключение ';

{--------------Селекторы дескрипторов сегментов---------------}

code_sel =$08; { кода программы, }

code_sel2 =$10; { кода модуля PROT, }

data_sel :word =$18; { данных, }

stack_sel :word =$20; { стека, }

video_sel :word =$28; { видеопамяти, }

mem_sel :word =$30; { расширенной памяти, }

{-----------------Биты байтов доступа сегментов---------------}

present =$80; { P=1 : сегмент есть в памяти }

nosys =$10; { S=1 : сегмент несистемный }

exe =$08; { E=1 : сегмент выполняемый }

down =$04; { ED=1: сегмент расширяется вниз }

wr_ena =$02; { W=1 : разрешена запись в сегмент }

rd_ena =$02; { R=1 : разрешено чтение из сегмента }

{---------Значения поля TYPE системных дескрипторов-----------}

К-во Просмотров: 932
Бесплатно скачать Курсовая работа: Робота в захищеному режимі мікропроцесора