5. Программная модель 32-разрядных процессоров i80x86

advertisement
Сервис "Обмен садиками" - бесплатный инструмент поиска обмена местами в
дошкольных образовательных учреждениях (ДОУ) между детьми одного возраста
Mini-Soft Библиотека
процессоров i80x86
Разделы сайта:
Образование
Курсовые
Дипломы
Рефераты
Словари
БЭМТ
БФ НГТУ
Программы
Soft
Исходники
Assembler IBM PC
5. Программная модель 32-разрядных
5. ПРОГРАММНАЯ МОДЕЛЬ 32-РАЗРЯДНЫХ
ПРОЦЕССОРОВ I80X86
На рис. 4 представлена программная модель 32разрядных процессоров i80x86 (реальный режим). Все
регистры, не имеющие в своём имени начальную
букву E (Extended), составляли программную модель
базового процессора i8086 (за исключением двух
новых сегментных регистров fs и gs). Младшие 8- или
16-битные регистры, имеющие имена, могут
использоваться самостоятельно. Первую группу из 8ми регистров (eax, ebx, esp) составляют регистры
общего назначения (РОН), использующиеся для
хранения данных или адресов. Вместе с тем, каждый
из РОН в некоторых командах выполняет специальные
функции, что нашло отражение в названии регистров.
Eax/ax/ah/al – аккумулятор, используется в
подавляющем числе команд. Часто применяемые
команды, использующие данный регистр, имеют
укороченный формат.
Ebx/bx/bh/bl – базовый регистр. Получил своё
название из-за выполняемой функции базовой
адресации (регистр bx) в процессоре i8086. В старших
моделях процессоров базовая адресация вводится
любым расширенным РОН.
Статьи
MSDN
Библиотека
Инфо
Ссылки
Гостевая книга
Поиск по сайту:
123302
Submit
Добавить
работу на сайт
Ваше образование
Два высших
Неполное
среднее
Среднее
Среднеспециальное
Неполное
высшее
Ecx/cx/ch/cl – регистр, используется как счётчик
числа повторений в командах сдвига, в циклических и
в строковых командах.
Edx/dx/dh/dl – регистр данных, выполняющий
функцию арифметического расширителя в командах
умножения и деления.
Индексные регистры Esi/si и Edi/di получили своё
название из-за одноимённой адресации в базовом
процессоре i8086 (регистры si и di), где содержат
величину смещения данных и команд от начала
базового адреса соответствующего сегмента. В
старших моделях процессоров индексная адресация
вводится любым расширенным РОН.
В процессорах i80x86 имеется четыре типа
сегментных регистра, которые в IBM PC используются
по умолчанию в соответствии с их функциональной
специализацией.
CS – code segment – содержит адрес сегмента кода
программы. Логический адрес команды определяется
указателем CS:IP, где IP – instruction pointer –
программный счётчик.
Высшее
? ???????
Новые поступления:
Анализ и оценка
эффективности
использования
оборотных активов
организации 2011-10-11
Товарные биржи и их
значение в
коммерческой
деятельности
торговых предприятий
2011-10-11
Контрольная по
ботанике 2011-09-04
Контрольная работа
по ботанике 2011-09-04
RSS
Все новинки...
Проверить аттестат
Рис. 4. Регистры 32-разрядных процессоров i80x86
DS – date segment -содержит сегментную часть
адресного указателя данных DS:EA, где EA – effective
address
-адресное
выражение,
определяющее
смещение переменной в памяти данных. Адресное
выражение не должно включать имя регистра Ebp/bp.
SS – stack segment – содержит сегментную часть
адресного указателя стека SS:SP, где SP – указатель
вершины стека. Стек можно также адресовать с
использованием адресации, аналогичной сегменту
данных SS:EA, где EA – адресное выражение,
включающее имя регистра Ebp/bp.
ES – extra segment – дополнительный сегмент
данных, используется для адресации строкиприёмника в строковых командах. Для адресации
других
дополнительных
сегментов
данных
предназначены регистры GS и FS. Назначение
сегментных
регистров,
обусловленное
их
функциональной
специализацией,
а
также
возможность их переназначения с помощью префикса,
поясняется в табл. 3.
Регистр флагов является специальным регистром, в котором
хранится слово состояние программы и процессора (Program Status
Word – PSW). Существует два основных типа флагов: управляющие
флаги и флаги состояния.
Таблица 3
Назначения сегментных регистров
Регистры,
использующиеся для
вычисления эффективного
адреса ЕА
Назначение сегментных
регистров
По
умолчанию
Возможные
переназначения
с помощью
префикса
Eip/ip – адрес команды в
сегменте кода
cs
Нет
ss
Нет
ss
cs, ds, es
EA операнда в сегменте
стека с использованием
регистра ebp/bp
ds
cs, ds, es
EA операнда в сегменте
данных без использования
регистра ebp/bp
ds
cs, ds, es
es
Нет
Esp/sp – указатель
вершины стека в сегменте
стека
esi/si – указатель элемента
строки – источника
edi/di – указатель элемента
строки – приёмника
 Управляющие флаги
Df – Direction Fl – флаг направления обработки
элементов строки при выполнении строковых команд.
При Df = 0 осуществляется просмотр строки вперёд, в
сторону увеличения значения их адреса, при Df = 1 –
просмотр назад.
If – Interrupt Fl – флаг разрешения аппаратных
прерываний, считается установленным, если If = 1.
Tf – Trace Fl – флаг трассировки, используется в
отладчиках
для
осуществления
пошагового
выполнения команд программы. Если Tf = 1, то после
выполнения каждой команды процессор реализует
процедуру прерывания Int 1.
 Флаги состояний (рис. 5)
Cf – Carry Fl – перенос из старшего разряда регистра
результата при сложении или заём для старшего
разряда при вычитании.
Of – Overflow – арифметическое переполнение
результата при сложении или вычитании чисел в
дополнительном коде. При операциях с беззнаковыми
числами признаком переполнения является значение
флага Cf (1 – есть переполнение, 0 – нет).
Рис. 5. Механизм формирования флагов условий
Sf – Sign Fl – флаг знака результата.
Zf – Zero Fl – флаг нулевого результата для
логических и арифметических операций.
Af – Auxiliary Fl – флаг дополнительного
переноса (займа), используется при операциях с BCDчислами.
Pf – Parity Fl – флаг паритета, фиксирует
наличие чётного числа "1" в младшем байте
результата.
Вам помог данный материал: Да | Нет
Mini-Soft Библиотека
процессоров i80x86
Assembler IBM PC
5. Программная модель 32-разрядных
О проекте
MiniSoft.ru Рекла
ма на сайте
Copyright ©
Mini-Soft
2003-2009
minisoft@narod.ru
Download