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

Команда зсуву арифметичного операнда вліво – SAL

Схема команди: SAL операнд , кількість зсувів

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

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

  • зсув всіх бітів операнда вліво на один розряд, при цьому висунутий ліворуч біт стає значенням ознаки перенесення CF;

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

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

Команда зсуву арифметичного операнда вправо SAR

Схема команди: SAR операнд , кількість зсувів

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

  • зсув всіх бітів операнда вправо на один розряд, при цьому висунутий праворуч біт стає значенням ознаки переносу CF;

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

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

Команда зсуву логічного операнда вліво – SHL

Схема команди: SHL операнд , кількість зсувів

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

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

  • зсув всіх бітів операнда вліво на один розряд, при цьому висунутий ліворуч біт стає значенням прапора переносу CF;

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

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

Стан ознак після виконання команд SAL, SAR та SHL : CF – значення залежить від результату роботи команди, OF – зміст ознаки має зміст при зсуві на один біт, в цьому випадку залежить від результату роботи команди.

Команда зсуву логічного операнда вправо – shr

Схема команди: SHR операнд , кількість зсувів

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

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

  • зсув всіх бітів операнда вправо на один розряд; при цьому висунутий праворуч біт стає значенням ознаки переносу CF;

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

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

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

Для процесорів ІА-32 введено команди логічний зсувів у вліво – SHLD та вправо – SHRD операнда в подвійне слово.

3.2 Команди циклічних зсувів (rol, ror ,rcl, rcr). Циклічний зсув операнда вліво - rol

Схема команди: ROL операнд , кількість зсувів

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

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

  • зсув всіх бітів операнда вліво на один розряд, при цьому старший біт операнда засовується в операнд праворуч і стає значенням молодшого біта операнда;

  • одночасно висунутий біт стає значенням ознаки переносу CF;

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

Циклічний зсув операнда вправо ror

Схема команди: ROR операнд , кількість зсувів

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

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

  • зсув всіх бітів операнда вправо на один розряд, при цьому молодший біт операнда засовується в операнд ліворуч і стає значенням старшого біта операнда;

  • одночасно цей молодший біт операнда стає значенням ознаки переносу CF;

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

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