Реферат: Программная модель процессоров семейства X86
ПРОГРАММНАЯ МОДЕЛЬ ПРОЦЕССОРОВ СЕМЕЙСТВА X 86
Пользовательские регистры
Как следует из названия, пользовательскими регистры называются потому, что программист может использовать их при написании своих программ. К этим регистрам относятся (СЂРёСЃ. 1 ):
· восемь 32-битных регистров, которые могут использоваться программистами для хранения данных и адресов (их еще называют регистрами общего назначения (РОН)):
-eax/ax/ah/al ;
-ebx/bx/bh/bl ;
-edx/dx/dh/dl ;
-ecx/cx/ch/cl ;
-ebp/bp ;
-esi/si ;
-edi/di ;
-esp/sp .
· шесть регистров сегментов: cs, ds, ss, es, fs, gs ;
· регистры состояния Рё управления :
-регистр флагов eflags/flags ;
-регистр указателя команды eip/ip .
Рис. 1. Пользовательские регистры микропроцессоров i486 и Pentium
Почему многие из этих регистров приведены с наклонной разделительной чертой?
Нет, это не разные регистры — это части одного большого 32-разрядного регистра. Их можно использовать в программе как отдельные объекты.
Так сделано для обеспечения работоспособности программ, написанных для младших 16-разрядных моделей микропроцессоров фирмы Intel, начиная с i8086.
Микропроцессоры i486 и Pentium имеют в основном 32-разрядные регистры. Их количество, за исключением сегментных регистров, такое же, как и у i8086, но размерность больше, что и отражено в их обозначениях — они имеют приставку e (E xtended).
Регистры общего назначения
Все регистры этой группы позволяют обращаться к своим “младшим” частям.
Для самостоятельной адресации можно использовать только младшие 16 и 8-битные части этих регистров. Старшие 16 бит этих регистров как самостоятельные объекты недоступны. Это сделано, как мы отметили выше, для совместимости с младшими 16-разрядными моделями микропроцессоров фирмы Intel.
Перечислим регистры, относящиеся к группе регистров общего назначения. Так как эти регистры физически находятся в микропроцессоре внутри арифметико-логического устройства (АЛУ), то их еще называют регистрами АЛУ:
· eax/ax/ah/al (Accumulator register) — аккумулятор.
Применяется для хранения промежуточных данных. В некоторых командах использование этого регистра обязательно;
· ebx/bx/bh/bl (Base register) — базовыйрегистр.
--> ЧИТАТЬ ПОЛНОСТЬЮ <--