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

Imul| операнд_1|[,операнд_2,операнд_3|]

Коли вказаний один операнд, IMUL| аналогічна MUL.

Можливі варіанти IMUL|:

  1. imul операнд_1,операнд_2

операнд_1 = операнд_1 * операнд_2

операнд_1 - завжди регістр.

Приклади|зразки|:

imul| edx,ecx| ;EDX = EDX| * ECX|

imul| ebx,var| ;умножає 32-розрядну змінну var| на ЕВХ

imul| есх,6| ; ЕСХ = ЕСХ * 6

  1. imul| операнд_1, операнд_2, операнд_3|

операнд_1| = операнд_2| * операнд_3

|

де операнд_1 - регістр.

операнд_3 - тільки безпосередній операнд.

Приклади|зразки|:

imul| edx,ecx,7| ; EDX| = ECX| * 7

imul ebx,var,9 ; var * 9,результат в EBX

imul| ecx,edx,ll| ;ЕСХ = EDX| * 11

Команди ділення

Ділення|поділ| цілих чисел — це операція цілочисельна, тому в результаті утворюються два значення: частне і залишок|остача|.

мнемокод дільник

|поділи|

Ділення|поділ| двійкових чисел без знаку

Div| дільник

Ділиме

Дільник

(регістр, елемент пам'яті)

Частне

Залишок

АХ

1 байт

AL|

АН|

DX| — старша частина|частка|

АХ — молодша частина|частка|

2 байта

АХ

DX|

EDX- старшая| частина|частка|

ЕАХ– молодша частина|частка|

4 байта

ЕАХ

EDX|

Ділення|поділ| двійкових чисел із|із| знаком

Idiv| дільник

Приклад 1. Розділити 13 на 2, частне зберегти в BL|, а залишок|остача| - у ВН:

include irvine32.inc

.code

main PROC

mov| ax,13| ; АХ = 13

mov| cl,2| ; CL| = 2

div| cl| ; ділимо АХ на CL, результат в АХ|

mov bx,ax ; АХ копіюємо у ВХ

exit

main endp

end main

Вміст регістрів|реєстрів| до виконання команди ділення :

AX=13

AH

AL

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

1

0

0

0

D



CX

CH

CL

0

0

0

0

0

0

1

0

0

2

Вміст регістра|реєстру| AX після виконання команди множення :

AX

AH=1

AL=6

0

0

0

0

0

0

0

1

0

0

0

0

0

1

1

0

0

1

0

6

Приклад 2. Обчислити радіус по діаметру, значення якого збережене в 16-бітовій змінній diameter, результат записати в radius, а залишок проігнорувати.

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