Page 21 - 4989
P. 21
Рисунок 2.1 – Регістри загального призначення в архітектурі
ІА-32
Регістри, назва яких починається з літери Е (ЕАХ, ЕВХ, ЕDI
тощо), є 32-розрядними. У всіх 32-розрядних регістрів можна
окремо звертатися до молодших 16-ти біт, які мають власні назви
- відповідно АХ, ВХ, DІ тощо. У свою чергу, у регістрів AX, BX,
CX, та DX можна окремо звертатися до старшого байта (AH, BH,
CH, DH) та молодшого байта (AL, BL, CL, DL). Така схема
іменування є наслідком підтримки зворотньої сумісності з 16-
розрядною архітектурою, яку мали процесори 8086 та 80286. В
архітектурі х64 регістри загального призначення є 64-розрядними
і мають назви, що починаються з літери R, наприклад RAX, RBX,
RDI тощо, причому регістри ЕАХ, ЕВХ і т.д. являють собою їх
молодші 32 біти. Також у х64 введено додаткові 64-розрядні
регістри загального призначення R8...R15.
Регістр ЕSP застосовується як покажчик стеку
(використовується командами звертання до стеку PUSH і POP),
ЕВР – як покажчик даних, що містяться в стековому сегменті,
ЕВХ - як покажчик даних у сегменті даних, регістри ЕSI та ЕDI –
як індекси в сегменті даних або стековому сегменті.
До регістрів спеціального призначення належать:
- регістр-покажчик інструкцій ЕІР (містить адресу інструкції,
яка виконується у поточний момент часу)
- регістр флагів EFLAGS (містить флаги – однобітові ознаки
результатів операцій або режимів роботи процесора)
- сегментні регістри CS, SS, DS, ES, FS, GS
- регістри таблиць дескрипторів GDTR, LDTR, IDTR
- службові регістри CR0...CR15, DR0...DR15, MSW, MXCSR
21