Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справочник.docx
Скачиваний:
5
Добавлен:
26.11.2018
Размер:
54.24 Кб
Скачать

Idiv: Целое деление знаковых величин

--------------------------------------

О п е р а ц и я: Выполняет деление знакового делимого (16 или 32 бит)

на знаковый делитель (8 или 16 бит). Левый единичный бит рассматривается

как знак минус для отрицательных чисел. Для 16-битового деления делимое

должно находиться в регистре АХ, a 8-битовый делитель возможен в регистре

или в памяти, например IDIV DL. Частное от деления получается в регистре

AL, а остаток - в регистре АН. Для 32-битового деления делимое должно

находиться в регистровой паре DX:AX, а 16-битовый делитель возможен в

регистре или в памяти, например IDIV BX. Частное от деления получается в

регистре АХ, а остаток - в регистре DX. См. команды CBW и CWD для

расширения знакового делимого, а также команду DIV.

Ф л а г и: Команда воздействует на флаги AF, CF, OF, PF, SF и ZF.

О б ъ е к т н ы й к о д: |1111011w|mod111r/m|

Imul: Целое умножение знаковых величин

----------------------------------------

О п е р а ц и я: Выполняет умножение на знаковый множитель (8 или 16

бит). Левый единичный бит рассматривается как знак минус для отрицательных

чисел. Для 8-битового умножения множимое должно находиться в регистре AL,

а множитель возможен в регистре или в памяти, например IMUL BL.

Произведение получается в регистре АХ. Для 16-битового умножения множимое

должно находиться в регистре АХ, а множитель возможен в регистре или в

памяти, например IMUL BX. Произведение получается в регистровой паре

DX:AX. См. также команду MUL.

Ф л а г и: Команда воздействует на флаги CF и OF (флаги AF PF SF и ZF

не определены).

О б ъ е к т н ы й к о д: |1111011w|mod101r/m|

In: Ввод байта или слова из порта

-----------------------------------

О п е р а ц и я: Передает из вводного порта один байт в регистр AL

или два байта в регистр АХ). Порт кодируется как фиксированный числовой

операнд (IN АХ,порт#) или как переменная в регистре DX (IN AX,DX).

Процессоры 80186, 80286 и 80386 имеют, кроме того, команду INS (Input

String - ввод строки). См. также команду OUT.

Ф л а г и: Не меняются.

О б ъ е к т н ы й к о д (два формата):

Переменный порт: |1110110w|

Фиксированный порт: |1110010w|--port--|

Inc: Инкремент

----------------

О п е р а ц и я: Прибавляет 1 к байту или слову в регистре или в

памяти, например INC СХ. См. также команду DEC.

Ф л а г и: Команда воздействует на флаги AF, OF, PF, SF и ZF.

О б ъ е к т н ы й к о д (два формата):

Регистр: |01000reg|

Регистр или память: |1111111w|mod000r/m|

Int: Прерывание

-----------------

О п е р а ц и я: Прерывает выполнение программы и передает управление

по одному из 256 адресов (векторов прерывания). Команда INT выполняет

следующее: 1) уменьшает значение SP на 2 и заносит в стек флаговый

регистр, сбрасывает флаги IF и TF; 2) уменьшает значение SP на 2 и заносит

регистр CS в стек, старшее слово из вектора прерывания помещает в регистр

CS; 3) уменьшает значение SP на 2 и заносит регистр IP в стек, младшее

слово из вектора прерывания помещает в регистр IP.

Ф л а г и: Команда воздействует на флаги IF и TF.

О б ъ е к т н ы й к о д:

|1100110v|--type--| (если v = 0, то type = 3).