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

10.5 Прерывания int

Команда INT прерывает обработку программы, передает управление в DOS или BIOS для определенного действия и затем возвращает управление в прерванную программу для продолжения обработки. Наиболее часто прерывание используется для выполнения операций ввода или вывода.

Формат команды

INT тип_прерывания

Для выхода из программы на обработку прерывания и для последующего возврата команда INT выполняет следующие действия:

- уменьшает указатель стека на 2 и заносит в вершину стека содержимое флагового регистра;

- очищает флаги TF и IF;

- уменьшает указатель стека на 2 и заносит содержимое регистра CS в стек;

- уменьшает указатель стека на 2 и заносит в стек значение командного указателя;

- вычисляет адрес вектора прерывания, умножая тип_прерывания на 4;

  • загружает второе слово вектора прерываний в регистр CS;

  • загружает в IP первое слово вектора прерывания;

- обеспечивает выполнение необходимых действий;

- восстанавливает из стека значение регистра и возвращает управление в прерванную программу на команду, следующую после INT.

Этот процесс выполняется полностью автоматически. Необходимо лишь определить сегмент стека достаточно большим для записи в него значений регистров.

В данной главе рассмотрим два типа прерываний: команду BIOS INT 10H и команду DOS INT 21H для вывода на экран и ввода с клавиатуры. В последующих примерах в зависимости от требований используются как INT 10H так и INT 21H.

10.6 Системное программное обеспечение

Микропроцессор является только частью компьютера, а конфигурация аппаратного обеспечения и операционная система компьютера оказывает большое влияние на программирование на языке ассемблера.

Без знания конфигурации аппаратуры и операционной системы программы не будут иметь возможности сделать ввод и вывод и даже завершиться. Ниже покажем некоторые основные возможности ПК.

Все ПК имеют клавиатуру, дисплейный адаптер, монитор и накопитель на гибком диске. Так же часто устанавливаются модемы, принтеры, мышка и жесткие диски. Каждое из этих устройств управляется сложной серией обращений к портам ввода-вывода или памяти (или обоим). Например, выбор нового видеорежима на цветном графическом адаптере (CGA) требует более 30 инструкций OUT; для управления модема или диска управляющие последовательности еще более сложны. Системное программное обеспечение ПК уже делает большинство этой работы.

Системное программное обеспечение - это программы, которые используются как управляющий и интерфейсный слой между прикладными программами, такими как Ассемблер и аппаратурой Вашего компьютера.

В частности, системные программы управляют сложными интерфейсами к отдельным устройствам. Например, для того, чтобы ПК обработал нажатие одной клавиши, требуется несколько сотен команд на языке ассемблера, но Ваша ассемблерная программа может получить символ от клавиши за вызов только одной системной функции. Это обеспечивают два главных системных компонента ПК: DOS и BIOS (базовая система ввода-вывода).

Системные программы DOS и BIOS используются как управляющий и интерфейсный слой между прикладными программами и аппаратурой ПК. Прикладные программы всегда имеют возможность управлять аппаратурой напрямую, но необходимо использовать DOS или BIOS, когда это возможно.

10.6.1 DOS

DOS (дисковая операционная система - так же известна как MS DOS и PC DOS) - это программа, которая управляет Вашим компьютером с момента чтения диска при включении компьютера и до момента выключения. DOS занимает часть памяти. DOS так же обеспечивает широкий набор функций, используемых каждой прикладной программой. Это через функции DOS прикладная программа читает и пишет файлы, работает с клавиатурой, распределяет память, выполняет другие программы и даже устанавливает и получает время суток. Например, код

...

MOV AH,2 ; функция DOS для отображения символа

MOV DL,'a' ; a - символ для отображения

INT 21h ; вызов DOS для выполнения функции

...

вызывает функцию DOS "вывод на дисплей" для того, чтобы вывести символ "а" в текущую позицию курсора на экране.

Функции DOS используются для выполнения таких операций, как чтение с клавиатуры или из файла, вывода на экран или в файл и вывода на принтер.