Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

В чем причина того, что регистры называются по имени, а не по номеру, как другие внутренние компоненты компьютера?

ФермаКактусов Высший разум (189412), закрыт 4 недели назад
Лучший ответ
Андрей Высший разум (437062) 4 недели назад
Это извращение характерно только только для ассемблеров процессоров Intel. И связано оно с тем, что до появления 80386 все регистры процессоров Intel были узкоспециализированы и каждый регистр мог использоваться только в определённых командах процессора. Использование нумерации таких регистров могло только усложнить чтение кода.

Но, например, в PDP-11, созданном в 1970 году, все 8 регистров (R0-R7) были универсальны и могли одинаково использоваться во всех командах, работающих с регистрами. Но т.к. два из 8 регистров имели специальное назначение (регистр аппаратного стека и регистр адреса команды), то в ассемблере они имели синонимы, упрощающие чтение кода: R6 - SP, R7 - PC.
Остальные ответы
kaneki ghoul sss Мудрец (11376) 4 недели назад
Например, для того, чтоб код был более понятным и лёгким для написания и отладки. Ну типа не писать же вместо MOV AX, BX — MOV 0x00, 0x02.
И кажется это вполне может служить абстракцией от архитектуры, мол, использование имён регистров позволяет создавать программы, которые могут работать на разных процессорах с разной архитектурой, даже если у них разное кол. во регистров или они расположены по разным адресам. А может, вообще традиция, т. к. раньше так было проще.
kaiu Высший разум (115775) 4 недели назад
Твой предыдущий вопрос «Какое из всех психологических расстройств вы считаете самым тяжелым?» более интересен :) Видно задавать вопросы на которые ты давно знаешь ответы, но все же тебе интересно мнение других людей.
Номер не всегда понятен, но Аккумулятор обозначить А бывает тоже...точнее многие уже забыли, почему это так или по другому. А если начали с A, то далее понятно, что уже B
А так, как и в математике, чтобы было меньше писанины обозначаем короче и по какой-то последовательности, то бишь по алфавиту.

Буква «A» от «accumulator» сохранилась в названии регистров AX, EAX, RAX.
ИльяВысший разум (375473) 4 недели назад
У вшивой AVR-ки 32 регистра. Букаф не хватит. Их именуют только номерами. А вот когда пары используют - именуют, так как использование каждой пары - отдельная команда.
kaiu Высший разум (115775) Илья, ну так в начале был только 1 аккумулятор...это потом уже не регистр А, а поболее букв (расширенный EAX допустим). Но для электроники давно обозначения сложные, типа R910 но найти бывает сложно на схеме, так что есть и метод обозначения по блокам, так и тут для AVR цифры удобны...ну мне точно, я ранее так тупо мог для цикла и написать i1 и i2 для другого, но все же стал со временем как все делать i,j,k... обозначать или же обозначать так, как требует теория или описание.
Похожие вопросы