Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Визначення змінних програми.

Розробка алгоритму рішення|розв'язання|.

 

Алгоритм розв’язання задачі – лінійний.

Для розв’язання завдання нам знадобиться змінна для представлення цілого беззнакового числа 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=486
Е

 

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

AX
А А

 

DX

 

 

ECX=236196
  CX
А А
                                                               

 

Приклад 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

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

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

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

|поділи|

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


Читайте також:

  1. Cинтаксис опису змінних
  2. I визначення впливу окремих факторів
  3. II. Визначення мети запровадження конкретної ВЕЗ з ураху­ванням її виду.
  4. II. Мотивація навчальної діяльності. Визначення теми і мети уроку
  5. Ocнoвнi визначення здоров'я
  6. Алгебраїчний спосіб визначення точки беззбитковості
  7. Аналіз службового призначення деталей та конструктивних елементів обладнання харчових виробництві, визначення технічних вимог і норм точності при їх виготовленні
  8. Аналіз стратегічних альтернатив та визначення оптимальної стратегії формування фінансових ресурсів
  9. Аналіз ступеня вільності механізму. Наведемо визначення механізму, враховуючи нові поняття.
  10. АНОДНИХ ТА ЗНАКОЗМІННИХ ЗОН
  11. Балансова теорія визначення статі. Диференціація статі і роль гормонів у цьому процесі.
  12. Безстатеве розмноження, його визначення та загальна характеристика. Спори — клітини безстатевого розмноження, способи утворення і типи спор.




Переглядів: 849

<== попередня сторінка | наступна сторінка ==>
MOV приймач, джерело | NEG| операнд

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.007 сек.