русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-10-07; просмотров: 1493; Нарушение авторских прав


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

 


Рис. 1. Регистр, флагов микропроцессоров 8086/8088.

 

Из 16 бит семь зарезервированы, остальные выполняют различные функции, которые мы сейчас разберем.

CF - флаг переноса. Равен 1, если произошел перенос при сложении или заем при вычитании, в противном случае он равен нулю. При выполнении операции сдвига CF содержит бит, который вышел за границу ячейки или регистра. CF также служит индикатором результата умножения.

PF - флаг четности. Равен 1, если в результате операции получилось число с четным числом единиц, и 0 - в противном случае.

AF - вспомогательный флаг переноса. Аналогичен флагу CF, но контролирует заем или перенос третьего бита.

ZF - флаг нуля. Равен 1, если в результате операции получен нуль, и 0 - в противоположном случае.

SF - флаг знака. Дублирует значение старшего бита результата операции. Используется при работе с числами со знаком.

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

IF - флаг прерывания. Если данный флаг сброшен в 0, то микропроцессор не реагирует ни на какие внешние сигналы (сигналы прерывания). Исключение составляет немаскируемое прерывание (NMI). По линии NMI микропроцессор получает сообщения о таких критических ситуациях, как отключение питания и ошибка памяти.

DF - флаг направления. Используется строковыми (цепочечными) командами. Если он сброшен, цепочка обрабатывается с первого элемента, имеющего наименьший адрес. В противном случае цепочка обрабатывается от наибольшего адреса к наименьшему.

OF - флаг переполнения. Флаг равен 1, если результат сложения двух чисел с одинаковым знаком или результат вычитания двух чисел с противоположными знаками выйдет за пределы допустимого диапазона. Флаг обращается в 1, если старший бит операнда изменился в результате операции арифметического сдвига. OF=0, если частное от деления двух чисел переполняет результирующий регистр.



Выполнив команды PUSHF и POP AX, вы сможете проверить любой из вышеперечисленных флагов, даже если он никак не воздействует на команды условных переходов. Аналогично (PUSH AX/POPF) можно изменить любой флаг по своему усмотрению. Кстати, раз мы здесь говорим о регистре флагов, следует упомянуть один подход, который позволяет различать микропроцессоры Intel. Одна модификация микропроцессора может отличаться от предыдущей версии тем, что в ней появляется новый флаг. Это значит, что мы можем его изменить, а следовательно, отличить один микропроцессор от другого.

 


<== предыдущая лекция | следующая лекция ==>
Команды пересылки данных | Язык Ассемблер


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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