Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Prakt2.doc
Скачиваний:
9
Добавлен:
12.02.2016
Размер:
204.8 Кб
Скачать

Найбільш важливі переривання dos

Під час своєї роботи BIOS використовує два модулі DOS: IO.SYS і MSDOS.SYS. Оскільки модулі DOS забезпечують велику кількість різних додаткових перевірок, то операції DOS, як правило простіші у використанні і менш машинно залежні, аніж їх BIOS аналоги. Модуль IO.SYS забезпечує інтерфейс із BIOS низького рівня. Ця програма виконує керування вводом-виводом при читанні даних із зовнішніх пристроїв у пам'ять і записі з пам'яті на зовнішні пристрої.

Модуль MSDOS.SYS містить засоби керування файлами і ряд сервісних функцій, таких як блокування і деблокування записів. Коли користувацька програма видає запит INT 21H, то в програму MSDOS.SYS через регістри передається визначена інформація. Потім програма MSDOS.SYS транслює цю інформацію в один чи кілька викликів IO.SYS , що у свою чергу викликає BIOS. Зазначені зв'язки приведені на наступній схемі:

Як показано вище, переривання від 20h 62h зарезервовані для операцій DOS. Нижче приведені найбільш основні з них:

INT 20h Завершення програми. Запит завершує виконання програми і передає керування в DOS. Даний запит звичайно знаходиться в основній процедурі.

INT 21h Запит функцій DOS. Основна операція DOS, що викликає визначену функцію відповідно до коду в регістрі AH.

INT 22h Адреса підпрограми обробки завершення задачі. (см.INT 24H).

INT 23h Адреса підпрограми реакції на Ctrl/Break. (см.INT 24H).

INT 24h Адреса підпрограми реакції на фатальну помилку. У цьому елементі й у двох попередніх містяться адреси, що ініціалізуються системою в префіксі програмного сегмента і, які можна змінити для своїх цілей.

INT 27h Завершення програми, що залишає її резидентною. Дозволяє зберегти COM-програму в пам'яті.

Таблиця векторів переривань

Адр.(16)

Номер

Опис

0-3

0

Помилка ділення. Викликається автоматично після виконання команд DIV або IDIV, якщо в результаті ділення відбулося переповнення. DOS зазвичай при обробці цього переривання виводить повідомлення про помилку й зупиняє виконання програми. Для процесора 8086 при цьому адреса повернення вказує на наступну після команди ділення команду, а в процесорі 80286 - на перший байт команди, що викликала переривання

4-7

1

Переривання покрокового режиму. Виникає після виконання кожної машинної команди, якщо в слові прапорів встановлений біт покрокового трасування TF. Використовується для наладки програм. Переривання не виникає після виконання команди MOV у сегментні регістри або після завантаження сегментних регістрів командою POP

8-B

2

Апаратне немасковане переривання. Це переривання може використовуватися по-різному в різних машинах. Звичайно виникає при помилці парності в оперативній пам'яті і при запиті переривань від сопроцесора

C-F

3

Переривання для трасування. Це переривання генерується при виконанні однобайтової команди з кодом CCh і звичайно використовується наладчиками для встановлення точки переривання

10-13

4

Переповнення. Генерується машинною командою INTO, якщо встановлений прапор OF. Якщо прапор не встановлений, то команда INTO виконується як NOP. Це переривання використовується для обробки помилок при виконанні арифметичних операцій

14-17

5

Друк копії екрана. Генерується при натисканні на клавіатурі клавіші PrtScr. Звичайно використовується для друку образу екрана. Для процесора 80286 генерується при виконанні машинної команди BOUND, якщо значення, що перевіряється, вийшло за межі заданого діапазону

18-1С

6

Невизначений код операції або довжина команди більше 10 байтів (для процесора 80286)

1D-1F

7

Особливий випадок відсутності сопроцессора

20-23

8

IRQ0 - переривання інтервального таймера, виникає 18,2 разів в секунду

24-27

9

IRQ1 - переривання від клавіатури. Генерується при натисканні і при відпусканні клавіші. Використовується для читання даних з клавіатури

28-2B

A

IRQ2 - використовується для каскадування апаратних переривань у машинах класу AT

2C-2F

B

IRQ3 - переривання асинхронного порту COM2

30-33

C

IRQ4 - переривання асинхронного порту COM1

34-37

D

IRQ5 - переривання від контролера жорсткого диска для XT

38-3B

E

IRQ6 - переривання генерується контролером флоппі-диска після завершення операції

3C-3F

F

IRQ7 - переривання принтера. Генерується принтером, коли він готовий до виконання чергової операції. Багато адаптерів принтера не використовують це переривання

40-43

10

Обслуговування відеоадаптера

44-47

11

Визначення конфігурації пристроїв у системі

48-4B

12

Визначення розміру оперативної пам'яті в системі

4C-4F

13

Обслуговування дискової системи

50-53

14

Послідовний ввід/вивід

54-57

15

Розширений сервіс для AT-комп'ютерів

58-5B

16

Обслуговування клавіатури

5C-5F

17

Обслуговування принтера

60-63

18

Запуск BASIC у ПЗУ, якщо він є

64-67

19

Завантаження операційної системи

68-6B

1A

Обслуговування годинника

6C-6F

1B

Обробник переривань Ctrl-Break

70-73

1C

Переривання виникає 18,2 разів в секунду, викликається програмно обробником переривання таймера

74-77

1D

Адреса відеотаблиці для контролера відеоадаптера 6845

78-7B

1E

Покажчик на таблицю параметрів дискети

7C-7F

1F

Покажчик на графічну таблицю для символів із кодами ASCII 128-255

80-83

20

Нормальне завершення програми (DOS)

84-87

21

Звертання до функцій DOS

88-8B

22

Адреса обробки завершення задачі (DOS)

8C-8F

23

Адреса реакції по Ctrl/Break (DOS)

90-93

24

Адреса реакції на фатальну помилку (DOS)

94-97

25

Абсолютне читання з диска (DOS)

98-9B

26

Абсолютний запис на диск (DOS)

9C-9F

27

Створення резидентної програми (DOS)

A0-17F

28-5F

Інші функції DOS

180-19F

60-67

Переривання, зарезервовані для користувача

1A0-1A3

68-6F

Не використовуються

1C0-1C3

70

IRQ8 - переривання від годинника реального часу

1C4-1C7

71

IRQ9 - переривання від контролера EGA

1C8-1CB

72

IRQ10 – зарезервовано

1CC-1CF

73

IRQ11 – зарезервовано

1D0-1D3

74

IRQ12 – зарезервовано

1D4-1D7

75

IRQ13 - переривання від сопроцесора

1D8-1DB

76

IRQ14 - переривання від контролера жорсткого диска

1DC-1DF

77

IRQ15 – зарезервовано

1E0-1FF

78-7F

Не використовуються

200-217

80-85

Зарезервовані для BASIC

218-3C3

86-F0

Використовуються інтерпретатором BASIC

3C4-3FF

F1-FF

Не використовуються

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]