Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012 ЛР Ассемблер Архитектура ВС 6 семестр.doc
Скачиваний:
7
Добавлен:
03.05.2019
Размер:
454.66 Кб
Скачать

Idiv Деление целых знаковых чисел

Команда IDIV выполняет деление целого числа со знаком, находящегося в регистрах АХ (в случае деления на байт) или DX:AX (в случае деления на слово), на операнд-источник (целое число со знаком). Размер делимого в два раза больше размеров делителя и остатка. Оба результата рассматриваются как числа со зна­ком, причем знак остатка равен знаку делимого.

Для однобайтовых операций делимое помещается в регистр АХ; после вы­полнения операции частное записывается в регистр AL, а остаток - в регистр АН.

Для двухбайтовых операций делимое помещается в регистры DX:AX (в DX -старшая часть, в АХ — младшая); после выполнения операции частное записыва­ется в регистр АХ, а остаток - в регистр DX.

В качестве операнда-делителя можно указывать регистр данных или ячейку памяти; не допускается деление на непосредственное значение. Если делитель равен 0, или если частное не помещается в назначенный регистр, возбуждается прерывание через вектор 0.

Imul Умножение целых знаковых чисел

Команда IMUL выполняет умножение целого знакового числа, находящегося в регистре AL (в случае деления на байт) или АХ (в случае деления на слово), на операнд-источник (целое число со знаком). Размер произведения в два раза больше размера сомножителей.

Для однобайтовых операций один из сомножителей помещается в регистр AL; после выполнения операции произведение записывается в регистр АХ.

Для двухбайтовых операций один из сомножителей помещается в регистр АХ; после выполнения операции произведение записывается в регистры DX:AX (в DX - старшая часть, в АХ - младшая).

В качестве операнда-сомножителя можно указывать регистр данных или ячейку памяти; не допускается умножение на непосредственное значение.

In Ввод из порта

Команда IN вводит в регистр AL или АХ соответственно байт или слово из порта, указываемого вторым операндом. Адрес порта помещается в регистр DX. Если адрес порта не превышает 255, он может быть указан непосредственным значением. Указание регистра-приемника (AL или АХ) обязательно.

Inc Инкремент (увеличение на 1)

Команда INC прибавляет 1 к операнду, в качестве которого можно указывать регистр (кроме сегментного) или ячейку памяти размером как в байт, так и в сло­во. Не допускается использовать в качестве операнда непосредственное значение. Операнд интерпретируется как число без знака.

Int Программное прерывание

Команда INT инициирует в процессоре процедуру прерывания, в результате которой управление передается на программу обработки прерывания с номером п, который указан в качестве операнда команды INT. В стек прерываемого про­цесса (текущей программы) заносится содержимое регистра флагов, сегментного регистра CS и указателя команд IP, после чего в регистры IP и CS передается со­держимое двух слов из вектора прерывания типа п (расположенных по адресам

0:n*4 и 0:n*4+2). Команда INT сбрасывает флаг IF

I into Прерывание по переполнению

Команда INTO, будучи установлена вслед за какой-либо арифметической, логической или строковой командой, возбуждает процедуру прерывания типа 4, если предшествующая команда установила флаг переполнения OF. Перед исполь­зованием команды INTO пользователь должен поместить в вектор прерывания 4 двухсловный адрес своего обработчика прерывания по переполнению.

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