Регістри асемблера: види, призначення та особливості команд

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

Безпосередньо звернутися до регістру неможливо. Крім того, є ряд доступних блоків пам’яті, однак звернутися до них можливо тільки з оболонки операційної системи. До таких відносять керуючі сегментні регістри, а також тіньові системи дескрипторів. Застосовують у своїй роботі дані регістри виключно девелопери ОС.

Види регістрів

Для різних потреб під час програмування застосовуються різні регістри Assembler. Використовують їх залежно від цілей. Наприклад, регістр лічильника застосовується для організації як простих, так і вкладених циклів. Нижче перераховані основні типи регістрів асемблера:

  • Регістри загального призначення.
  • Індексні регістри.
  • Регістри-вказівники.
  • Сегментні блоки пам’яті.
  • Регістри прапорів.

Фактично всі регістри займають в пам’яті 32 біта. Тобто можуть містити числа від нуля до 4294967295. Деякі з регістрів розділені на кілька частин по 16 і 8 біт. Це дозволяє управляти або частиною блоку пам’яті, або осередком цілком, записуючи в неї лише частина даних.

Регістри асемблера отримали назву відповідно до виконуваних функцій:

  • ЕАХ – Accumulator регістра акумулятора;
  • EBX – Base – база;
  • ECX – Counter – відповідає за рахунок;
  • EDX – Data – блок комірок даних;
  • ESI – Source Index – регістр джерела;
  • EDI – Destination Index – регістр приймача;
  • ESP – Pointer of stack – вказівник на стек;
  • EBP – Base Pointer – покажчик підстави стека.