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

Особливості використання реєстрів

Варто враховувати те, що кожен з позначених регістрів може застосовуватися не тільки для внесення даних. Приміром, у регістр бази можна внести будь-яке десяткове число і користуватися ним як лічильником. Однак при цьому небажано застосовувати в цих цілях блоки пам’яті, які відповідають вказівниками – ESP і EBP, так як при цьому можуть виникати проблеми з доступом до клітинок абстрактного типу даних. Призначення регістрів асемблера – зберігання якоїсь інформації, для чого може використовуватися будь-їх вид.

Регістри загального призначення

Даний вид регістрів створений для збереження даних після обчислювальних операцій. Фактично в них можна за допомогою команди mov внести інформацію в будь-якому вигляді та системі числення: двійковій, вісімковій, десятковій або шістнадцятковій. Інша назва – регістри даних асемблера. До переліку регістрів загального призначення assembler відносять:

  • ЕАХ (accumulator) регістр акумуляції. Складається з трьох молодших блоків по 8 біт: АХ, АН, AL. При необхідності можна звертатися до двом молодшим блокам.
  • ЕВХ (base) – блок даних, який відповідає за базу. Так само, як і всі регістри загального призначення, що складається з двох молодших розділів по 8 біт і одного шестнадцатибитного. Таким чином в один регістр можна помістити відразу кілька числових значень.
  • ЕСХ (counter) – відповідає за лічильник. Використовується під час виконання циклів. Без нього не працює команда loop. Складається з двох частин, одна з яких включає два восьмибітних блоку СН і CL.
  • EDX – Data – потрібно для операцій точного визначення адреси оперативної пам’яті для функцій вводу і виводу. Крім того, в цей регістр можна поміщати дані для переадресації на використання в процедурах і шаблонах.