Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ргз.docx
Скачиваний:
4
Добавлен:
20.03.2016
Размер:
224.63 Кб
Скачать
  1. Уявлення числа в однобайтовому полі

Уявимо число C в однобайтовому полі. В числі С визначимо 3-й біт, інвертуємо 5-й біт та встановимо 4-й біт, а 1-й біт – скинемо. Виконаємо: shl – лінійний логічний зсув числа С на і розрядів вліво; ror – циклічний зсув числа С на і розрядів вправо (в прапорці CF спочатку нуль); rcr – циклічний зсув числа С на і розрядів вправо (в прапорці CF спочатку одиниця); sar – арифметичний зсув числа С на і розрядів вправо ( в старший біт числа C перед зсувом впишемо одиницю).

Таблиця 2.1 – Вхідні дані

Десяткове число

Номер біта(n), який необхідно встановити

Номер біта(k), який необхідно визначити

Номер біта(m), який необхідно скинути

Номер біта(p), який необхідно проінвертувати

i

14

4

3

1

5

3

Подаємо число 14 у двійковій системі числення: 1410 = 11102

  1. Встановимо 4-й біт: виконаємо побітове логічне додавання даного числа і числа-маски, у якого значення ′1′ тільки у 4-му біті.

    7

    6

    5

    4

    3

    2

    1

    0

    1410

    0

    0

    0

    0

    1

    1

    1

    0

    OR

    0

    0

    0

    1

    0

    0

    0

    0

    0

    0

    0

    1

    1

    1

    1

    0

  2. Визначимо 3-й біт: виконаємо побітове логічне множення даного числа і числа-маски, у якого значення ′1′ тільки у 3-му біті.

7

6

5

4

3

2

1

0

1410

0

0

0

0

1

1

1

0

AND

0

0

0

0

1

0

0

0

0

0

0

0

1

0

0

0

Отримаємо результат, не рівний нулю, тому у 3-му біті одиниця.

  1. Скинемо 1-й біт: виконаємо побітове логічне множення даного числа і числа-маски, у якого значення ′0′ тільки у 1-му біті, а інші – ′1′.

    7

    6

    5

    4

    3

    2

    1

    0

    1410

    0

    0

    0

    0

    1

    1

    1

    0

    XOR

    0

    0

    0

    0

    0

    0

    1

    0

    0

    0

    0

    0

    1

    1

    0

    0

  2. Проінвертуємо 5-й біт: виконаємо побітову логічну операцію XOR над даним числом і числом-маскою, у якого ′1′ тільки в 5-му біті

7

6

5

4

3

2

1

0

1410

0

0

0

0

1

1

1

0

OR

0

0

1

0

0

0

0

0

0

0

1

0

1

1

1

0

Перевірка отриманих результатів за допомогою демонстраційної програми зображена на рисунках 2.1 та 2.2.

Рисунок 2.1-2.2 – Перевірка отриманих результатів

  1. Виконаємо shl – лінійний логічний зсув числа С на і (3) розрядів вліво:

7

6

5

4

3

2

1

0

1410

0

0

0

0

1

1

1

0

0

1

1

1

0

0

0

0

Заповнюємо нулями 0,1 та 2 біти.

  1. Виконаємо ror – циклічний зсув числа С на і (3) розрядів вправо (в прапорці CF спочатку нуль):

7

6

5

4

3

2

1

0

1410

0

0

0

0

1

1

1

0

1

1

0

0

0

0

0

1

  1. Виконаємо rcr – циклічний зсув числа С на і розрядів вправо (в прапорці CF спочатку одиниця):

7

6

5

4

3

2

1

0

1410

0

0

0

0

1

1

1

0

1

0

1

0

0

0

0

1

  1. Виконаємо sar – арифметичний зсув числа С на і розрядів вправо ( в старший біт числа C перед зсувом впишемо одиницю).

7

6

5

4

3

2

1

0

1410

0

0

0

0

1

1

1

0

1

1

1

1

0

0

0

1

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