- •1, 2,... Данная совокупность ячеек называется оперативной памятью.
- •I80386 первым из семейства процессоров Intel стал поддерживать возможность
- •23Формирование адреса. Сегментная адресация в реальном и защищенном режимах. Размер сегмента. Адресное пространство.
- •I80386 с 32-разрядной шиной команд и данных в целях совместимости программ
- •II локальная дескрипторная таблица (Local Descriptor Table, ldt), ее адрес хра-
- •24.Формирование адреса. Страничная адресация.
- •Is Первую группу образуют пользовательские регистры, к которым относятся:
- •Il указателей на ячейки памяти.
- •II регистр-счетчик (Count register) ecx/cx/ch/cl применяется в командах, произ-
- •26Дескрипторы сегментов. Глобальные и локальные таблицы дескрипторов. Регистры gdtr и ldtr. Селекторы.
- •34Команды безусловной передачи управления. Команды вызова процедур и возврата из процедуры.
- •II промежуточный вариант — внутри другой процедуры или основной программы (в этом случае необходимо предусмотреть обход процедуры с помощью команды безусловного перехода j м р);
- •35Команды условной передачи управления. Команды организации циклов.
- •Как видите, большая часть полей предназначена для хранения содержимого регистров общего назначения и сегментных регистров
Is Первую группу образуют пользовательские регистры, к которым относятся:
D регистры общего назначения EAX/AX/AH/AL, EBX/BX/BH/BL, EDX/DX/DH/DL, ЕСХ/
CX/CH/CL, ЕВР/ВР, ESI/SI, EDI/DI, ESP/SP предназначены для хранения данных
и адресов, программист может их использовать (с определенными ограни-
чениями) для реализации своих алгоритмов;
D сегментные регистры CS, DS, SS, ES, FS, GS используются для хранения адресов
сегментов в памяти;
П регистры сопроцессора ST(0), ST(1), ST(2), ST(3), ST(4), ST(5), ST(6), ST(7) пред-
назначены для написания программ, использующих тип данных с плаваю-
щей точкой (глава 17);
П целочисленные регистры MMX-расширения ММХО, MMXl, MMX2, ММХЗ, ММХ4,
ММХ5, ММХб, ММХ7;
D регистры MMX-расширения с плавающей точкой XMMO, XMM1, ХММ2, ХММЗ,,
ХММ4,ХММ5,ХММб,ХММ7;
D регистры состояния и управления (регистр флагов Е FLAGS/FLAGS и регистр-
указатель команды EIP/IP) содержат информацию о состоянии процессора,
исполняемой программы и позволяют изменить это состояние.
• Во вторую группу входят системные регистры, то есть регистры, предназначен-
ные для поддержания различных режимов работы, сервисных функций, а так-
же регистры, специфичные для определенной модели процессора. Перечислим
системные регистры, поддерживаемые IA-32:
D управляющие регистры CRO.. .CR4 определяют режим работы процессора и ха-
рактеристики текущей исполняемой задачи;
D регистры управления памятью GDTR, IDTR, LDTR и TR используются в защи-
щенном режиме работы процессора для локализации управляющих струк-
тур этого режима;
П отладочные регистры DRO.. .DR7 предназначены для мониторинга и управле-
ния различными аспектами отладки;
D регистры типов областей памяти MTRR используются для аппаратного управ-
ления кэшированием в целях назначения соответствующих свойств облас-
тям памяти;
П машинно-зависимые регистры MSR используются для управления процес-
сором, контроля за его производительностью, получения информации об
ошибках.
Почему в обозначениях многих из регистров общего назначения присутствует
наклонная разделительная черта? Это не разные регистры — это части одного боль-
шого 32-разрядного регистра, но их можно использовать в программе как отдель-
ные объекты. Зачем так сделано? Чтобы обеспечить работоспособность программ,
написанных для прежних 16-разрядных моделей процессоров фирмы Intel начи-
ная с i8086. Процессоры i486 и Pentium имеют в основном 32-разрядные регистры.
Их количество, за исключением сегментных регистров, такое же, как и у 18086,
но размерность больше, что и отражено в обозначениях — они имеют пристав-
ку е(extended).
Многие из приведенных регистров предназначены для работы с определенны-
ми вычислительными подсистемами процессора: сопроцессором, MMX-расшире-
ниями. Поэтому их целесообразно рассматривать в соответствующем контексте.
Так как первая часть учебника посвящена вопросам программирования целочис-
ленной подсистемы процессора, то в данной главее описываются регистры, обес-
печивающие ее функционирование. В дальнейшем при обсуждении новых вычис-
лительных подсистем процессора будут рассмотрены и другие регистры из пере-
численных ранее.
Регистры общего назначения
Регистры общего назначения используются в программах для хранения:
ш операндов логических и арифметических операций;
«i компонентов адреса;