Индексный регистр

Материал из Википедии — свободной энциклопедии

Индексный регистр —

ЦПУ, используемый для автоматического изменения адреса операнда
во время исполнения программы.

Общее назначение

Обычно индексный регистр используется для выполнения операций с

индексными массивами
.

Индексный регистр часто используется для

любая её часть, обычно адресная, может быть модифицирована прибавлением числа, содержащегося в индексном регистре. Например, исполнительный адрес в современном процессоре может формироваться как сумма базового, индексного и относительного адресов, хранящихся в индексном регистре.

Количество индексных регистров в ЦПУ может достигать нескольких десятков. Их быстродействие, обычно, на порядок выше быстродействия основной оперативной памяти. Индексный регистр повышают производительность ЦПУ, уменьшает объём программы, осуществляя автоматическую переадресацию одновременно с другими операциями.

Индексные регистры стали стандартной частью процессора во втором поколении компьютеров (примерно

).

Индексные регистры в процессорах архитектуры x86

В архитектуре x86 индексные регистры называются SI и DI. При базово-индексной адресации их содержимое может суммироваться с содержимым регистра BX.

Индексный регистр-источник SI применяется в качестве указателя адреса байта или слова в таких строковых командах, как LODS (загрузить строку), CMPS (сравнить строку), MOVS (переслать строку).

Индексный регистр-приёмник DI используется как указатель назначения для адреса байта или слова в строковых командах, таких как SCAS (сканировать строку), CMPS, MOVS, STOS (записать строку).

См.также