Регистр флагов МП i8086. Назначение регистра, флаги состояния, флаги управления — КиберПедия 

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Регистр флагов МП i8086. Назначение регистра, флаги состояния, флаги управления

2020-11-03 320
Регистр флагов МП i8086. Назначение регистра, флаги состояния, флаги управления 0.00 из 5.00 0 оценок
Заказать работу

 Регистр флагов содержит словосостояние программы, имеет 9 значащих битов (флаги),одни из которых:

 флаги состояния, флаги управления

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

 CF - флаг переноса.

 PF -флаг четности.

 AF - флаг вспомогательного переноса.

 ZF - флаг нуля

 SF - флаг знака

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

 TF - флаг трассировки

 IF - флаг прерывания

 DF - флаг направления

 OF - флаг переполнения.

Принцип адресации памяти МП i8086: размер адресного пространства, понятие сегмента, понятие логического и физического адреса.

 Адресное пространство мп допустимое количество ячеек памяти к кот. мп может обратиться по шине-адресу. Каждая ячейка имеет свой номер (адрес) 20 бит-ША. т.к.внутри регистры Мп имеют разрядность 16 бит и впрямую могут адресовать только 64Кб для расширения адресного пространства был введён механизм сегментации памяти. Всё адресное пространство делиться на параграфы =16 байт. Несколько смежных параграфов образуют сегмент. Размер сегмента в параграфах от 0 до 4096 параграфов.Адрес сегмента определяеться 1-параграф - это значение наз. адресом сегмента и храниться в сегментном регистре. Каж. байт памяти имеет логический адрес кот. состоит из 2-х компонент. ХХХХ:хххх - вид лог. адреса байта. ХХХХ-базовый адрес сегмента, хххх-смещение байта внутри сегмента. Для получения физ. адреса сегмента адрес * на 16 + значение смещения получаем 20 разр. адрес.

Логические сегменты программы. Адресация сегментов

  4 типа сегментов:

 Сегмент кода – в нем находятся машинные инструкции,

 кот. составляют текст программы;

 Сегмент данных – хранит определенные в программе

 константы и переменные;

 Сегмент стека – хранит промежуточные данные, а также

 адреса возврата из подпрограммы в точку вызова;

 Сегмент дополнительных данных – используется для

 размещения динамически определяемых переменных

 Логические сегменты задаются программистом, так же

 как порядок расположения их памяти.

Сегмент стека. Адресация стека, команды работы со стеком, изменение состояния стека.

 Стек задается программно или определяется системно.

 SS-содержит базовый адрес текущего сегмента стека

 SP указывает на вершину стека

 PUSH- заносим в стек

 POP- достаем из стека.

 

Стек растет в область младших адресов, т.е. при выполнении команды PUSH значение регистра SP аппаратно уменьшается на 2. Помещать в стек и извлекать из него можно только 16-разрядные операнды. т.е. слова. Это значит, что двойное слово помещается и извлекает из стека в два приема, а для помещения в стек одного байта необходимо дополнять его до слова фиктивным байтом.

Режимы адресации МП i8086.

 Методом(режимом) адресации наз-ся способ нахождения операнда памяти, при этом сегментный адрес операнда задан одним из сегментных регистров(явно или по умолчанию), а команда определяет исполнительный(эффект-ый) адрес операнда.

ЕА=смещение в указ. сегменте.

 Операнды: регистры, непосредственные опернды, операнды памяти(в одной команде нельзя 2 операнда памяти).

 I8086- 24режима адресации.

 Режим----------------Формат операнда---Сегмент

 Регистровый---------------Регистр----------------------

 Непосредственный--данное(число)-------CS

 Прямой--------------- Смещение(метка)-----DS

 Косвенный------------- [BX],[DI],[SI],[BP]---------DS,SS

 Базовый--------------- -[BX]+смещение

 ---------------------------- [BP]+смещение-------DS,SS

 Прямой с инде-ем- -[DI]+ смещение------DS

 -----------------------------[SI]+ смещение------DS

 По базе с инде-ем- [BX],[SI]+смещение--DS

 -----------------------------[BX],[DI]+смещение--DS

 -----------------------------[BP][SI]+смещение---SS

 -----------------------------[BP],[DI]+смещение—SS

Формат команд МП i8086

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

 ----------------------------------------------------------------------------------------------------------------

 | Префиксы                         |                             Команда                                      |

 ----------------------------------------------------------------------------------------------------------------

Повтор | Замена сегмента | Код операции | Пост байт | Смещение | Операнд

 ----------------------------------------------------------------------------------------------------------------

(0:1) |       (0:1)            |     (1)         |   (0:1) |   (0:2) | (0:2) |

 ----------------------------------------------------------------------------------------------------------------

 Префикс повторения- определяет кол-во повторений команды при автомат. обработке цепочек.

 Префикс замены сегмента- явно определяет сегментный регистр для конкретной команды.

 0 0 1 REG 1 1 0

 REG=00:ES,01:CS,10:SS,11:DS

 mov AX,[BX]- mov ES:[BX]

 Код операции- определяет какая операция выполняется, кроме кода опер-ии содержит служебные виды. Расширение кода опер-ии может находиться во втором байте команды.

 Постбайт- байт режима адресации, определяет виды и тип операндов.

 Mod(2) Reg(3) r/m(2)

 Значение reg,r/m задают регистры или в комбинации с mod обращение к памяти.

 Смещение- 8:16 разрядный, если команде задано смещение mov AX,[BX+2]. В команде указывается младший байт, а затем старший байт смещения.

 Непосредственный операнд- содержится в коде команды,м/б 1-2 байтовым.

Система прерываний МП i8086. Понятие прерывания, вектора прерывания. Таблица векторов прерываний.

 Прерывание - сигнал, заставляющий МП прекратить выполнение текущей программы и переключиться на выполнение др. программы, называемой ПОП.

 Виды прерываний:

 Внутренние возникают в результате работы самого МП, могут инициализироваться самим МП, либо инициализируются программно.

 Внешние прерывания возникают по сигналу какого-либо устройства.

 Все внешние делятся на маскируемые и немаскируемые.

 МП имеет двухуровневую векторную систему прерываний с внутренними и внешними источниками.

 Может распознавать до 256 различных прерываний. Любой источник прерывания характеризуется своим номером (кодом 0..256) - однозначно определяется вид прерывания. МП использует данный номер для определения точки входа в специальную таблицу, которая называется таблицей векторов прерываний. Она располагается в младших адресах адресного пространства, начиная с логического адреса 00. Занимает 1 Kb памяти, состоит из ячеек размером по 4b. Любая ячейка содержит вектор процедуры обработки прерывания в формате (сегмент-смещение CS:IP).


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

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

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

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.