Все регистры этой группы позволяют обращаться к своим младшим байтам. Старшие 16 бит этих регистров как самостоятельные объекты недоступны. Это сделано, для совместимости с младшими 16-разрядными моделями микропроцессоров фирмы Intel. В группу регистров данных включаются четыре регистра АХ, ВХ, СХ и DX. Программист может использовать их по своему усмотрению для временного хранения любых объектов и выполнения над ними требуемых операций. При этом регистры допускают независимое обращение к старшим (АН, ВН, СН и DH) и младшим (AL, BL, CL и DL) байтам.
Символ Н (High) означает старшую половину (старший байт) 16-разрядного числа.
Символ L (LOW) - младшую часть (младший байт) 16-разрядного числа.
Во многих случаях регистры данных вполне эквивалентны, однако предпочтительнее пользоваться регистром АХ, поскольку многие команды занимают в памяти меньше места и выполняются быстрее, если их операндом является регистр АХ или его половина AL.
Рассмотрим все регистры данных более подробно:
Eax / Ax / Ah / Al (Accumulator register) – аккумулятор.
Применяется для хранения промежуточных данных. В некоторых командах использование этого регистра обязательно.
Ebx / Bx / Bh / Bl (Base register) – базовый регистр.
Применяется для хранения базового адреса некоторого объекта в памяти.
Ecx / Cx / Ch / Cl (Count register) – регистр-счетчик.
Применяется в командах, производящих некоторые повторяющиеся действия. Его использование зачастую неявно и скрыто в алгоритме работы соответствующей команды.
Edx / Dx / Dh / Dl (Data register) — регистр данных.
Так же, как и регистр eax/ax/ah/al, он хранит промежуточные данные. В некоторых командах его использование обязательно, а для некоторых команд это происходит неявно.