Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
palivo_finalv0_2.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

54. Команди копіювання даних

MOV

Ця команда використовується для копіювання  значення з одного місця в інше. Це 'місце' може бути регістр, комірка пам'яті або безпосереднє значення (тільки як вихідне значення). Синтаксис команди: mov приймач, джерело. Можна копіювати значення з одного регістра в інший. Розмір джерела і приймача повинні бути однаковими.

ДЖЕРЕЛО http://www.unicyb.kiev.ua/~boiko/ass/3.htm

Xchg Обмін данімі між операндами

Команда xchg пересилає значення першого операнда в другій, а іншого - в перший. Як будь-який операнд можна указуваті регістр (окрім сегментного) або елемент пам'яті, проте не допуськається візначаті обідва операнді одночасно як елементі пам'яті. Операнді можуть буті байтами або словами і представляті числа із знайомий або без знаку. Команда не впліває на прапорі процесора.

Приклад

mov Ax,off01h

mov Si,1000h

xchg Ax,si ;AX=01000h, Si=ff01h

ДЖЕРЕЛО http://www.znannya.org/?view=asm-teams30

55. Команди додавання цілих чисел

Нехай потрібно додати 128-бітові числа. Представимо кожне 128-бітове число

чотирма 32-бітовими групами: Ai та Bі. Спочатку треба додати молодші групи

бітів: A0+B0 . Результат додавання буде 33-бітовим – 32 молодші біти та

перенос. Молодші 32 біти вже є бітами результату, а перенос треба додати при

обчисленні суми наступних груп: A1+B1+перенос. І так далі. Біт переносу

результату додавання старших груп A3+B3 потрібно зберегти, якщо у цьому є

потреба.

При реалізації додавання у програмах на асемблері використовується команда

ADD для додавання молодших груп бітів A0+B0, і команда ADC – для

додавання у вигляді: Ai+Bi+перенос. При виконанні додавання значення

переносу автоматично записується у біт CF регістру EFLAGS.

56. Команди віднімання цілих чисел

Віднімання виконується так само, як і додавання – послідовно від молодших

груп бітів. При відніманні наступних груп бітів потрібно враховувати результат

віднімання попередньої групи.

Позичання виникає при відніманні більшого числа від меншого. Позичання

означає вимогу розповсюдити групу одиниць від старшого до поточного біту.

Цю групу одиниць достатньо закодувати одним бітом, який зветься бітом

позичання (borrow).

При реалізації у програмах на асемблері для віднімання молодших груп бітів

(A0 – B0) використовується команда SUB, а віднімання усіх наступних груп бітів

(Ai – Bi) робиться командою SBB (subtract with borrow). Біт позичання

записується у біт CF регістру EFLAGS.

57. Команди множення цілих чисел

(источник - http://looch-disasm.narod.ru/refe01.htm)

mul op2 – беззнаковое умножение.

imul op2 – знаковое умножение.

Алгоритм умножения

Умноження двух 96-битових операндов A та B.

Результат будет состоять из 192 бітов.

Алгоритм выполнения умножения групами по 32 бита состоит в умножении одного

96-битного операнда (A) на группы 32 битов другого операнда (Bi ).

Алгоритм для данного случая будет выполнен за 3 шага — будет 3 группы по 64 бита.

Потом эти частичные произведения будут прибавлены друг к другу по мере их расположения в разрядной сетке.

Или

A * B = A * B0 + A * B1 + A * B2

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