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

2. Команди логічних операцій (and, test, or, xor, not).

Команди AND, TEST, OR, XOR та NOT – є логічними командами мови Асемблера. Логічні команди використовуються для встановлення значень бітів, виділення бітів, для роботи з ознаками, в арифметичних командах для роботи з кодуванням ASCII, тощо. Логічні команди мови Асемблера є порозрядними бітовими операціями. Ці команди виконуються логічні операції для кожного бітового розряду даних.

Команда логічного множення – AND ( Логічне І)

Схема команди :AND приймач, джерело

Призначення: операція логічного множення для операндів, приймач і джерело розмірністю байт, або слово подвійне слово.

Алгоритм роботи:

  • виконати операцію логічного множення над бітами операндів, при цьому кожен біт результату дорівнює 1, якщо відповідні біти операндів рівні 1, в інших випадках біт результату дорівнює 0;

  • записати результат операції в приймач;

  • встановити ознаки.

Типове використання команди — примусової установки або встановлення нуля у визначених розрядах першого операнда.

Команда TEST також виконує логічне множення, як команда AND, встановлює ознаки, але не змінює операнд(приймач).

Команда логічного додавання – OR ( Логічне АБО)

Схема команди : OR приймач, маска

Призначення: операція логічного АБО над бітами операндів.

Алгоритм роботи:

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

  • записати результат операції в – приймач (операнд маска залишається незмінним);

  • встановити ознаки.

Типове використання команди — установка визначених розрядів першого операнда в одиницю.

Команда логічного додавання за модулем двійки – XOR

Схема команди : XOR приймач , джерело

Призначення: операція логічного виключного АБО над двома операндами розмірністю байт, або слово подвійне слово.

Алгоритм роботи:

  • виконати операцію логічного виключного АБО над бітами операндів, причому біт результату дорівнює 1, якщо значення відповідних бітів операндів різні, в інших випадках біт результату дорівнює 0;

  • записати результат в приймач;

  • встановити ознаки.

Стан ознак після виконання команди AND, TEST, OR та XOR: OF та CF встановлюються 0, значення , SF, ZF та PF – залежить від результату роботи команди, AF -невизначена.

Цю операцію зручно використовувати для інвертування або порівняння визначених бітів операндів.

Команда логічного заперечення бітів операнда – NOT

Схема команди: NOT джерело

Призначення: інвертування всіх бітів операнда джерело.

Алгоритм роботи: інвертувати всі біти операнда джерела: з 1 у 0, з 0 у 1. Стан ознак після виконання команди: виконання команди не впливає на ознаки.

Команду NOT можна використовувати для зміни байта, що виконує роль деякої ознаки, з метою відстеження деяких логічних умов у програмі. Але такий спосіб не оптимальний.

3. Команди зсувів та циклічних зсувів.

Команди зсувів та циклічних зсувів, представляють частину логічних можливостей комп’ютера, володіють наступними властивостями:

  • можуть обробляти операнди розміром у байт, слово та подвійне слово;

  • операнд може бути в регістрі або пам’яті;

  • зсувати операнди вліво та право;

  • величина зсуву не може бути більша 31 біт;

  • зсуви можуть бути логічними(для операндів без знаку) та арифметичні ( для операндів – зі знаком).

  • зсуви можуть бути циклічними.

Команди зсувів використовуються для множення та ділення цілочислових операндів степеня 2(для беззнакових даних використовують логічні зсуви, а для знакових арифметичні зсуви), компактного представлення інформації, встановлення та занулення бітів, для роботи з ознаками, арифметичних командах в коді ASCII, тощо.

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