Программная модель процессора МП8086

 

Программная модель процессора отображает те блоки и устройства архитектуры процессора, к которым пользователь может обратиться по какой либо команде. В этом смысле слова, архитектура процессора представляет собой набор из основных внутренних регистров.

Регистры общего назначения.

Особенностью всех этих регистров является то, что их можно использовать в любых арифметических, логических и других операциях, но в то же время каждый из этих регистров имеет определенную специализацию. Например команды деления и умножения требуют чтобы первый операнд непременно находился в регистре АL или AХ или регистрах DX:AX.

Регистр АХ - основной регистр, используется при арифметических операциях над словами, в операциях ввода вывода, сдвига, обращения к памяти.

Регистр ВХ – базовый регистр, используется при арифметических операциях, адресации данных в памяти.

Регистр СХ – счётчик, используется как счётчик числа повторений цикла, при арифметических операциях. Регистр СL - используется как счётчик при операциях сдвига и циклического сдвига.

Регистр DX - регистр данных, используется при умножении и делении слов, в операциях ввода – вывода.

Регистры сегментов

Так как ЭВМ на базе микропроцессоров INTEL xx86 используют и сегментированные модели памяти, то для формирования адреса команды или данных в памяти требуется две составляющих – адрес начала сегмента и смещение искомого байта относительно начала сегмента. Начальные адреса сегментов и содержатся в сегментных регистрах.

Регистр CS – хранит адрес сегмента текущей исполняемой программы.

Регистр DS – хранит адрес текущего сегмента данных используемых в программе.

Регистр SS – хранит адрес сегмента стека.

Регистр ES – хранит адрес сегмента текущего дополнительного сегмента, который используется для работы над строками или хранения данных и программ.

Рисунок 3.4 – Программная модель процессора МП8086

 

 

 

Регистры указателей и индексов

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

Регистры SI и DI в совокупности с BP и BX можно использовать для изменения (модификации) адресов памяти командах пересылки и сравнения.

Регистр SР используется для работы со стэком, так как всегда указывает на вершину стэка

Регистр BP используется для (модификации) адресов ячеек стэка.

Указатель команд IP

Регистр IP - в этом регистре находится относительный адрес той команды, которая должна быть выполнена процессором следующей. Исполнительный адрес этой команды определяется по формуле:

CS *10Н + IP = АЕ

Изменение содержимого любого из этих регистров есть переход на другую команду или область памяти.

Регистр флагов EF

Специальный шестнадцати битовый регистр, у которого каждый бит это флаг, то есть указатель, принимающий значение 1 (флаг установлен), или значение 0 (флаг сброшен), в зависимости от результата операции.

Флаги отражают определённое состояния регистров процессора. В процессоре 8086 используется 9 флагов из 16 бит регистра. Шесть из них называют флагами состояний и три флагами управления. Флаги состояния устанавливаются многими командами процессора и используются программами для определения последующих действий. Хотя флаги имеют общую функцию, точный смысл и значение его зависит от последней выполненной команды.

Флаги состояний

CF- перенос. Устанавливается в 1, если результат предыдущей операции не уместился в приемнике и произошел перенос из старшего бита или требуется заём ( при вычитании), в противном случае – в 0.

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

AF – флаг полу-переносаили вспомогательного переноса. Устанавливается в 1, если в результате предыдущей операции произошел перенос (или заем) из третьего бита в четвертый. Этот флаг используется автоматически коман­дами двоично-десятичной коррекции

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

SF – флаг знака. Он всегда равен старшему биту результата. Устанавливается в 1, если результат отрицательный и в ноль – если положительный

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

Флаги управления

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

IF – флаг прерывании. Сброс этого флага в 0 приводит к тому, что процессор перестает обрабатывать прерывания от внешних устройств (см. описание команды INT). Обычно его сбрасывают на короткое время для выполнения критических участков кода.

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

 

Лекция 8








Дата добавления: 2016-02-24; просмотров: 1913;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.