Програмування на мові Асемблер, Детальна інформація

Програмування на мові Асемблер
Тип документу: Реферат
Сторінок: 9
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 0
Скачувань: 1204
МНОЖЕННЯ І ДІЛЕННЯ БЕЗНАКОВИХ ЗНАЧЕНЬ.

МНОЖЕННЯ І ДІЛЕННЯ ЗНАКОВИХ ЗНАЧЕНЬ.

Для правильного виконання множення і ділення вимагається бути уважним. Потрібно слідкувати за тим, щоб помістити значення в потрібні регістри. Після виконання операції потрібно уважно одержувати результат.

За роботою команд mul, imul, div, i idiv прослідкуємо на прикладі програми MULTDIV.ASM

Команди знакового множення (imul) і ділення (idiv)

працюють аналогічно mul div і використають ті ж регістри.(Буква «i» в символічному імені використовується для цілих чисел, показуючи, що допускаються як додатні так і від’ємні значення)

Різні допустимі діапазони значень.

Знаковий байт змінюється від -128 до +127

Знакове слово змінюється -32768 до 32767

в програмі, в якій використовується imul i idiv потрібно пам’ятати що:

від’ємний результат представляється в двійковому додатньому коді,

Будь-який залишок має той же знак, щой частка

Якщо попробувати виконати ділення на 0, і якщо результат від ділення не буде поміщатись в заданий операнд призначення, то буде генеруватись переривання ділення на 0, яке зупинить програму.

ПЕРЕТВОРЕННЯ БАЙТІВ , СЛІВ І ПОДВІЙНИХ СЛІВ

При використанні знакових двійкових значень часто потрібно перетворювати 8-бітові значення байтів в 16-бітові слова, зокрема, для підготовки до множення і ділення. Ці перетворення виконувати складно, тому для спрощення введено команди:

cbw-перетворити байт в слово

cwb-перетворити слово в двійкове слово

Команда cbw розширює 8- бітове значення до 16-бітового

Команда cwb розширює 16-бітове значення до 32-бітового двійкового слова.

Ці команди виконують однакові дії,за винятком кількості опрацьованих бітів.

Потрібно пам’ятати про обмеження:

Початкове значення для cbw повинно знаходитись в регістрі al 16-бітовий результат завжди поміщається в ах.

Початкове значення для cwd повинно зберігатись регістр ах 32-бітовий результат завжди поміщається в dx i ax.Як правило cbw i cwd використовуються разом з командами imul i idiv при необхідності ділення та множення байтової величини на слово.

Проте ці команди можна використовувати і в інших цілях.

The online video editor trusted by teams to make professional video in minutes