МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Визначення змінних програми.Розробка алгоритму рішення|розв'язання|.
Алгоритм розв’язання задачі – лінійний. Для розв’язання завдання нам знадобиться змінна для представлення цілого беззнакового числа 486. Мінімальна комірка пам’яті, в якої може розміститися число 486 – 2 байти. Для представлення результату, нам знадобиться комірка пам’яті розміром 4 байта (486*486=236196). За допомогою директив визначення даних в сегменті даних зарезервуємо область пам'яті відповідної довжини для розміщення значень змінних: digit word 486,0 Додаткове подвійне слово резервуємо для наглядності. Оскільки|тому що| після виконання команди множення, результат буде збережений в двох регістрах|реєстрах| (AX - молодша частина|частка| числа, в DX - старша частина|частка| числа), для збереження результата в ОП необхідно|треба| виділити комірку розміром 4 байти. Причому, необхідно|треба| потурбуватися|поклопотатися| про доступ до старшої і|та| молодшої частинам|часткам| числа. Причина того, що результат 16-розрядного множення зберігається в парі DX:AX|, а не в 32-розрядному регістрі, заключається в забезпечені сумісністі з|із| попередніми 16-розрядними процесорами, у|біля| яких не було 32-розрядних регістрів|реєстрів|.
include irvine32.inc .data digit word 486,0 result label dword result_l word ? result_h word ? .code main PROC mov eax,0 mov ax,digit ; AX = 486 mul ax ; AX * AX -> DX:AX mov result_l,ax mov result_h,dx mov ecx,result exit main endp end main
Вміст регістра|реєстру| AX після виконання команди mov ax,digit
Вміст регістра|реєстру| AX , DX і ECX після виконання команди множення :
Приклад 4. Обчислити|обчисляти| діаметр по радіусу, збереженому в 8-бітовій змінній. include irvine32.inc .data radius byte 25,0 diameter word ? .code main PROC mov al,2 ; AL = 2 mul radius ; AX = radius * 2 mov diameterl,ax ; diameter <- AX exit main endp end main Множення двійкових чисел із|із| знаком 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
2. 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 Команди ділення Ділення|поділ| цілих чисел — це операція цілочисельна, тому в результаті утворюються два значення: частне і залишок|остача|. мнемокод дільник |поділи| Ділення|поділ| двійкових чисел без знаку Читайте також:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|