Добавить в корзинуПозвонить
Найти в Дзене

Характеристика семейства микропроцессоров 80х86.

Регистры указателей. Модель 8086 также имеет два указательных регистра SP и BP. Эти регистры называются потому, что их основной функцией является указание на определенный адрес памяти. · SP (Apuntador de Pila). Он отвечает за контроль доступа данных к стеку программ. Все программы на языке ассемблера используют стек для временного хранения данных. · BP (Base Pointer) Его функция заключается в предоставлении адресов для передачи и обмена данными. Индексы записей. Существует два регистра под названием SI и DI, которые тесно связаны с операциями со строками данных. · SI (Исходный индекс). Предоставляет начальный адрес для строки для манипулирования. · DI (Destination Index - индекс назначения). Указатель адреса назначения, на котором обычно хранится строка после некоторой операции передачи. Записи по сегментам. В 8086 году было создано четыре специальных регистра, называемых сегментными регистрами. · CS (Сегмент кода). Содержит базовый адрес места запуска программы, сохраненный в памят
 https://unsplash.com/photos/4Iv0Z1e2nNY
https://unsplash.com/photos/4Iv0Z1e2nNY

Регистры указателей.

Модель 8086 также имеет два указательных регистра SP и BP. Эти регистры называются потому, что их основной функцией является указание на определенный адрес памяти.

· SP (Apuntador de Pila).

Он отвечает за контроль доступа данных к стеку программ. Все программы на языке ассемблера используют стек для временного хранения данных.

· BP (Base Pointer)

Его функция заключается в предоставлении адресов для передачи и обмена данными.

Индексы записей.

Существует два регистра под названием SI и DI, которые тесно связаны с операциями со строками данных.

· SI (Исходный индекс).

Предоставляет начальный адрес для строки для манипулирования.

· DI (Destination Index - индекс назначения).

Указатель адреса назначения, на котором обычно хранится строка после некоторой операции передачи.

Записи по сегментам.

В 8086 году было создано четыре специальных регистра, называемых сегментными регистрами.

· CS (Сегмент кода).

Содержит базовый адрес места запуска программы, сохраненный в памяти.

· DS (Сегмент данных).

Содержит базовый адрес места в области памяти, где хранились переменные программы.

· ES (Extra Segment).

Эта запись обычно содержит тот же адрес, что и DS запись.

· SS (Сегмент стека).

Содержит базовый адрес места, где начинается область памяти, зарезервированная для стека. Регистр указателей инструкций.

· IP (указатель инструкций).

Этот регистр содержит адрес смещения места памяти, где микропроцессор должен выполнить следующую команду.

Журнал статуса.

Также известный как "Флаги", его основная функция заключается в сохранении индивидуального статуса различных условий, которые обрабатываются микропроцессором. Эти условия обычно меняются после любой арифметической или логической операции:

· CF (Carrying).

Этот флаг указывает на перенос или заимствование после сложения или вычитания.

· OF.

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

· SF (знак).

Этот флаг указывает, является ли результат операции положительным или отрицательным. SF=0 положительный, SF=1 отрицательный.

· DF (Direction).

Указывает направление, в котором будут передаваться данные при работе со строками. DF=1 справа налево, DF=0 слева направо.

· ZF (Ноль).

Указывает, был ли результат арифметической или логической операции нулевым или отличным от нуля. ZF=0 отличается, а ZF=1 равно нулю.

· IF (прерывание).

Активация и деактивация терминала INTR микропроцессора.

· PF (четность).

Указывает на четность числа. Если PF=0, четность нечетная, а если PF=1, то четная.

· AF (Вспомогательная переноска).

Указывает, произошел ли перенос битов с 3 на 4 после операции сложения или вычитания.

· TF (Trap).

Этот флаг управляет пошаговым выполнением программы с отладочными нишами.

Внутренние операции (Выполнение программы).

Для того чтобы микропроцессор мог запустить программу, она должна быть собрана, подключена и загружена в память.

Как только программа записана в память, микропроцессор выполняет следующие действия:

1. Извлекает из памяти команду для выполнения и помещает ее во внутренний регистр команд.

2. Изменяет регистр указателей команд (IP) таким образом, чтобы он указывал на следующую команду в программе.

3. Определяет тип только что извлеченной команды.

4. Проверяет, требуются ли для выполнения команды данные из памяти, и если да, то определяет, где они находятся.

5. Извлекает данные, если таковые имеются, и загружает их во внутренние регистры процессора.

6. Выполняет инструкции.

7. Хранит результаты в соответствующем месте.

8. Возвращается к шагу 1, чтобы выполнить следующую команду.

Эта процедура выполняется микропроцессором миллионы раз в секунду.

Управление памятью.

Сегментация.

Микропроцессор 8086, как уже упоминалось, имеет 20 адресных строк снаружи, поэтому он может обрабатывать до 1 МБ памяти. В те времена, когда этот микропроцессор проектировался, достигая 1МБ адресов памяти, было нечто экстраординарное, только то, что возникла проблема: внутри все записи микропроцессора имеют длину 16 бит, поэтому адресовать можно только 64 КБ памяти. Очевидно, что при такой конструкции тратится впустую большой объем памяти; решением этой проблемы стала сегментация.

Сегментация состоит из деления памяти компьютера на сегменты. Сегмент представляет собой группу локаций с минимальной длиной 16 байт и максимальной 64 КБ.

Большинство программ разработаны на языке ассемблера и любом другом языке в четырех сегментах.

Сегмент кода, сегмент данных, дополнительный сегмент и сегмент батареи. Каждому из этих сегментов присваивается начальный адрес, который хранится в соответствующих сегментных регистрах.

· CS для кода.

· DS для данных.

· ES для дополнительного сегмента.

· SS для стека.