Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Регистры процессора Intel x86




Процессоры Intel x86

Лекция 2. Программная модель процессора Intel

Процессор i8086 был выпущен компанией Intel в 1978 году, и являлся первым 16-ти разрядным процессором фирмы Intel. Процессор содержал 14 16ти разрядных регистров, имел 20-разрядную шину адрес, что позволило адресовать 1Мб памяти.

Современные процессоры Intel являются крайне сложными устройствами. В рамках данного курса ограничимся следующими необходимыми сведениями:

1. 32х разрядные регистры и вычислительные устройства

Доступны 3 режима работы: реальный (8086), защищённый (80386), режим v86

Адресуется 4Гб памяти (64Гб для Pentium Pro и старше)

Сначала рассмотрим программирование процессора в реальном режиме.

 

Регистр процессора — это сверхбыстрая память внутри процессора, предназначенная для хранения временных данных и результатов операций (регистры общего назначения), или содержащая данные, необходимые для работы процессора — базовые адреса, адреса таблиц, уровни доступа и т.д. (специальные регистры). Современные процессоры Intel(AMD) содержат большое количество регистров (около 50), большинство из которых имеет специальное назначение (управление состоянием процессора, управление задачами и виртуальной памятью, и т.д.) и используется только в программировании операционных систем.

К регистрам общего назначения процессоров Intel относят 8 регистров — EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP. Регистры EAX, EBX, ECX и EDX могут использоваться для любых целей без ограничений — временного хранения данных, аргументов или результатов различных операций. В некоторых командах используется только некоторое подмножество этих регистров — команды умножение, деления, организации циклов и др. Младшие 16 бит из этих регистров имеют собственное название — AX, BX, CX и DX соответственно. В процессорах 8086-80286 существовали только 16-ти разрядные части этих регистров, 32-битные регистры EAX, EBX, ECX и EDX появились только в процессорах 80386. Кроме этого, отдельные байты регистров AX-DX также доступны как отдельные 8-ми разрядные регистры и имеют свои имена, старшие байты — AH, BH, CH, DH, младшие — AL, BL, CL, DL соответственно.

Регистры ESI, EDI, EBP и ESP имеют более конкретное назначение и применяются для хранения временных переменных различного рода. Регистры ESI, EDI чаще всего используются для косвенной адресации памяти и работы со строками, регистры ESP и EBP при работе со стеком. Также как и в случае с регистрами EAX-ECX младшие 16 разрядов этих регистров доступны по именам SI, DI, BP и SP соответственно, в процессорах до 80386 присутствовали только 16-ти разрядные регистры.

Регистры CS, DS, ES, GS, FS и SS называются сегментными регистрами, и являются регистрами специального назначения. В этих регистрах хранятся 16ти разрядные числа по которым процессор определяет базовую часть адреса, начало сегмента, который используется для вычисления реального (или, как говорят эффективного) адреса. Регистр CS используется для определения сегмента, в котором находится исполняемая часть программы, для определения эффективного адреса исполняемой команды используется пара регистров CS:IP. Регистр SS для определения сегмента в котором размещается стек, для определения эффективного адреса вершины стека используется пара регистров SS:SP. DS, ES, GS и FS (GS и FS появились только в процессорах 80386) могут использоваться программистом для определения собственных сегментов, и называются регистрами сегментов данных.

Регистр признаков, также называемый регистром флагов — FLAGS. Регистр недоступен для прямого обращения. Каждый бит является флагом, то есть устанавливается процессором в 1 при выполнении некоторого условия в процессе выполнения команды, и используется процессором для управления поведением программы. Рассмотрим наиболее значимые флаги:

• CF – флаг переноса. Устанавливается в 1, если результат предыдущей операции не уместился в приёмнике и произошел перенос из старшего бита или произошёл заём при вычитании. Пример: после выполнения команды прибавления 1 к 0FFFFh флаг переноса будет установлен CF=1.

PF – флаг чётности. Устанавливается если младший байт результата предыдущей команды содержит четное число битов, равных 1.

AF – флаг вспомогательного переноса. Устанавливается если в результате операции произошёл перенос из 3го бита в 4й.

ZF – флаг нуля. Устанавливается, если результат предыдущей команды — ноль.

SF — флаг знака. В точности равен старшему биту результата

DF – флаг направления. Используется командами обработки строк. Если DF=1 строки обрабатываются в сторону уменьшения адресов, DF=0 – в сторону увеличения.

OF – флаг переполнения. Устанавливается в 1, если в результате выполнения предыдущей операции с целыми числами со знаком получилось число выходящее за допустимые пределы. Например при сложении двух положительных чисел получилось число с единицей в старшем разряде.




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 5518; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.