Указатель команд и регистр флагов — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

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

Указатель команд и регистр флагов

2022-10-04 39
Указатель команд и регистр флагов 0.00 из 5.00 0 оценок
Заказать работу

IP– указатель команд, выполняет роль счетчика команд; его содержимое – это смещение относительно начального адреса сегмента команд (CS).

Во время выполнения программы содержимое регистра IP изменяется и всегда указывает на адрес следующей выбираемой для выполнения команды.

Flags(PSW) – регистр флагов, содержит информацию о текущем состоянии МП.

Рассмотрим структуру регистра флагов подробнее:

Flags         OF DF IF TF SF ZF

 

AF   PF

 

CF

  15       11 10 9 8 7

6

  4   2  

0

 
                                       

Рис.3

Флаги разделяют на:

- условные (флаги условий), отражающие результаты выполнения предыдущей команды в АЛУ и используемые в командах условных переходов;

- управляющие (флаги управления), от которых зависит выполнение специальных функций МП.

1-я группа: Условные флаги перечислим в алфавитном порядке.

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

Здесь BCD (BinaryCodedDecimal) – двоично-десятичное представление чисел, где каждая десятичная цифра кодируется двоичной тетрадой.

Например, 285 -> 0000 0010 1000 0101 -> 2 Б

CF (Carryflag) – флаг переноса, предназначен для индикации переноса из старшего байта, используется в операндах, разрядность которых больше 16 бит.

OF (Overflowflag) – флагпереполнения, предназначен для индикации переполнения результатов при выполнении арифметических операций.

OF=1, если есть перенос в старший бит, но нет переноса из него.

PF (Parityflag) – флагчетности.

PF=1, если младший байт результата содержит четное число единиц (контрольный разряд (бит)).

SF (Signflag) – знаковый флаг.

SF=1 при отрицательном результате.

ZF (Zeroflag) – признак нулевого результата. (результат – нулевой байт или слово)

2-я группа: Управляющие флаги.

Они могут быть установлены программным путем и используются для изменения состояния МП.

DF (Directionflag) – флаг направления, применяется в командах обработки строк. При DF=1 строка обрабатывается от наибольшего адреса к меньшему, а при DF=0 – от начала к концу.

Установка флага осуществляется следующими командами ассемблера

Команда значение DF
STD 1
CLD 0

 

IF (Interrupt-Enableflag) – разрешение прерывания, используется для разрешения или запрета обработки внешнего маскируемого прерывания.

Команда ЗначениеIF Результат установки
STI 1 Операция прерывания разрешена
CLI 0 Операция прерывания запрещена

 

TF (Trapflag) – флаг трассировки, используется для пошагового режима выполнения программы.

 При TF=1 МП автоматически вырабатывает внутренние прерывания после каждой команды, что удобно для отладочного режима выполнения программы.

 Изменение состояния флагаTF довольно сложно и будет рассмотрено позже.

 

Две части микропроцессора.

Операционное устройство (ОУ) выполняет команды и содержит: АЛУ – арифметико-логическое устройство, УУ – устройство управления и 10 регистров. Эти устройства обеспечивают выполнение команд арифметических вычислений и логических операций.

Шинный интерфейс (ШИ) подготавливает команды и данные для выполнения, содержит 3 элемента:

- блок управления шиной;

- очередь команд;

-сегментные регистры;

Структура команд МП

 

Операционная часть Адресная часть

 

В командах ЯА:

МНК Адресная часть

 

Машинные команды МП занимают от 1 до 6 байтов, причем операционная часть занимает 1 или 2 первых байта команды, остальные байты – адресная часть.

Операнды могут быть указаны:

- в самой команде (непосредственная адресация);

- в одном из регистров МП, тогда в команде указывается этот регистр (регистровая адресация);

- в оперативной памяти по адресу, который тем или иным способом описан в команде (прямая, базовая или индексная адресация);

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

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

Форматы команд разнообразны и в основном двухадресные.

Op – операнд.

Op1:= op1 ¤ op2,

Где ¤ – какая-то команда, заданная МНК.

op1 – регистр или ячейка памяти, 1 байт или 1 слово (2 байта).

op2 - непосредственный операнд, регистр или ячейка памяти, 1 байт или 1 слово.

 


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

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

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

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...



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

0.01 с.