Справочник по языку Ассемблера IBM PC

       

INTO


(INTerrupt if Overflow)

Прерывание, если переполнение

 

Схема команды:  into 

Назначение: инициирование прерывания с номером 4, если установлен флаг of.


Алгоритм работы:


Проанализировать состояние флага of:

если of=0, то никаких действий производить не нужно — передать управление на следующую команду;

если of=1, то дальнейшие действия, как при команде int, то есть:



записать в стек регистр флагов eflags/flags и адрес возврата. При записи адреса возврата вначале записывается содержимое сегментного регистра cs, затем содержимое указателя команд eip/ip;

сбросить в ноль флаги if и tf;

передать управление на программу обработки прерывания с данным номером. Механизм передачи зависит от режима работы микропроцессора (см. уроки 15 и 17).

Состояние флагов после выполнения команды:

09 08
IF TF
r r

Применение:


Свойство этой команды инициировать вызов подпрограммы обработки прерывания с номером вектора 4 определяет варианты ее применения. Если предыдущая команда в программе может в результате своей работы установить флаг переполнения of (к примеру, арифметические команды), то для обнаружения и обработки такой ситуации можно использовать команду into. Особенности передачи управления и обработки (корректировки) результата зависят от режима работы микропроцессора.

.486 ...         mov     bx,186         imul    eax,bx,8 ;если результату не хватило размерности операнда1, ;то of установится в 1 ;исправим ситуацию в обработчике прерывания 3         into         

См. также: уроки 8, 15, 17 и команды , ,



Содержание раздела