Это означает зарегистрироваться , и это не все по историческим причинам.
Историческая часть заключается в том, что Intel приобрела привычку перечислять регистры буквами с 8008 (от A до E плюс H и L). Эта схема была более чем адекватной в то время, потому что микропроцессоры имели очень мало регистров и вряд ли могли получить больше, и большинство разработок делали это. Тогда преобладало мнение, что программное обеспечение будет переписано для новых процессоров по мере их появления, поэтому изменение схемы именования регистров между моделями не было бы большой проблемой. Никто не предвидел превращение 8088 в «семью» после включения в IBM PC, и ярмо обратной совместимости в значительной степени вынудило Intel принять схемы типа «E» для 32-битных регистров для его поддержки.
Неисторическая часть практична. Использование букв для регистров общего назначения ограничивает вас числом 26, если вы отсеиваете те, которые могут вызвать путаницу с именами регистров специального назначения, такими как счетчик программ, флаги или указатель стека.
У меня нет источника, чтобы подтвердить это, но я подозреваю, что выбор Rпрефикса и введение R8-R15 на 64-битных процессорах сигнализирует о переходе к пронумерованным регистрам, что было нормой среди 32-битных и -большая архитектура не выводится из 8008 почти полвека. IBM сделала это в 1960-х годах с 360-ым, за ним последовали PowerPC, DEC Alpha, MIPS, SPARC, ARM, Intel i860 и i960 и множество других, которые давно забыты.
Вы заметите, что существующие регистры прекрасно вписались бы в R0 - R7, если бы они существовали, и меня не удивит немного, если они будут обрабатываться таким образом внутри. Существующие длинные регистры (RAX / EAX / AX / AL, RBX / EBX / BX / BL и т. Д.), Вероятно, будут оставаться до тех пор, пока не сгорит солнце.
================================
В более ранних процессорах не все регистры были равны:
На микросхемах не хватило места, чтобы иметь сумматор для каждого регистра.
С 8 битами было недостаточно доступных кодов операций для всех возможных комбинаций источника и назначения.
Таким образом, допущение, что один конкретный регистр всегда был задействован, когда использовался сумматор, делало чип менее сложным, а коды операций короче.
Например, 6510 (используемый в Commodore 64) может быть добавлен только с использованием регистра A, а для индексации используются X или Y. Есть инструкции INC X и INC Y, но нет INC A.
Поскольку регистры имели различное использование, были выбраны мнемоники, отражающие их использование. Например, A, X и Y в 6510 (вместо A, B и C).
Имена в 8086 выбраны так, чтобы отражать их использование. С 4 регистрами общего назначения было логично назвать их AX, BX, CX и DX. Дополнительные регистры индексации назывались BP и SP (мнемоника: базовый указатель, указатель стека).
Поскольку многие коды операций были расширены до 16 битов, было место для указания, какой из четырех регистров использовался. Однако некоторые исторические причины все еще применялись, поскольку CX был немного особенным: REP и лайки, которые являются 8-битными кодами операций, всегда используют CX в качестве счетчика. Простая мнемоника CX = Counter помогает запомнить, какая из них используется.
Операционные коды для преемников 8086 должны были быть обратно совместимыми, и это беспорядок в результате использования операционных кодов переменной длины. Когда 32-битные шины стали более распространенными, были опробованы процессоры с фиксированной длиной кода операции. Это упрощает декодирующую часть ЦП, которая высвобождает пространство, которое можно использовать, например, для большего количества регистров.
Процессоры, которые придерживались этой идеи, называются процессорами RISC (CPU с уменьшенным набором инструкций), в отличие от CISC (CPU с комплексным набором инструкций).