КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Режимы адресации и поля смещенияСтр 1 из 10Следующая ⇒ Регистры и адресация Структура регистров процессоров IA-32 Команды и последовательности команд Нотация для описания операций с регистрами Нотация языка ассемблера Базовые типы команд Выполнение команд и линейный код Ветвление Флаги кодов условий регистра состояния Режимы адресации Команды IA-32 Программа для сложения чисел Формат машинных команд Однобайтовые команды Кодировка непосредственной адресации Режимы адресации и поля смещения
Все процессоры корпорации Intel имеют общее название Intel Architecture (IA). Мы с вами рассмотрим лишь процессоры IA, которые работают с 32-разрядными адресами памяти и 32-разрядными данными. Общее название процессоров этого семейства IA-32, а самые последние их представители носят имя Pentium. Первый процессор архитектуры IA-32 — процессор 80386 — увидел свет в 1985 году. После этого были созданы процессоры 80486 (1989), Pentium (1993), Pentium Pro (1995), Pentium II (1997), Pentium III (1999) и Pentium 4 (2000). Каждый новый процессор обладал более высокой производительностью, что достигалось за счет множества архитектурных усовершенствований и новых решений в микроэлектронной технологии. Последние его члены поддерживают специализированные команды для управления мультимедийной графической информацией и обработки векторных данных. Набор команд процессоров IA-32 очень большой, поэтому придется ограничиться рассмотрением самых основных команд и режимов адресации, а полную информацию об архитектуре системы команд процессоров IA-32 и их языке ассемблера вы найдете на web-узле Intel, который находится по адресу http://www.intel.com. 5.1. Регистры и адресация В архитектуре процессоров IA-32 память адресуется побайтово при помощи 32-разрядных адресов, а команды работают с операндами размером 8 и 32 разряда. Эти два размера операндов, согласно терминологии Intel, называются байтом и двойным словом. В первых моделях процессоров Intel 16-разрядный операнд назывался словом. Для хранения информации используется прямой порядок байтов, описанный в разделе 4.2. Многобайтные операнды могут начинаться по любым адресам. Выравниваться как-либо в памяти они не должны. Структура регистров процессоров IA-32 Регистры процессора IA-32 показаны на рис. 5.1., Обычно восемь 32-разрядных регистров с именами от R0 до R7 являются регистрами общего назначения и используются для хранения операндов-данных или адресной информации. Кроме того, имеется восемь регистров с плавающей запятой для хранения операндов-данных, имеющих размер двойного или четверного (64 разряда) слова. Регистры с плавающей запятой содержат поле расширения (на рис. 5.1. не показано), с учетом которого их длина составляет 80 бит. Дополнительные биты используются для увеличения точности при обработке процессором чисел с плавающей запятой. Архитектура IA-32 основана на модели памяти, в которой различные области памяти, называемые сегментами, имеют разное назначение. Сегмент кода содержит команды программы, сегмент стека — стек процессора, а четыре сегмента данных предназначены для хранения операндов-данных. В шести сегментных регистрах хранятся значения селекторов, используемые для идентификации указанных сегментов в адресном пространстве памяти. О назначении этих регистров мы поговорим в разделе 9.6, где будет обсуждаться семейство IA-32. Пока же такого рода информация нам не нужна. 32-разрядные адреса в архитектуре IA-32 часто применяются для доступа к тем областям памяти, в которых располагается сама программа, стек процессора и области данных.
|