Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Пользователю -> Евстифеев А.В. -> "Микроконтроллеры семейства" -> 21

Микроконтроллеры семейства - Евстифеев А.В.

Евстифеев А.В. Микроконтроллеры семейства — Infineon, 2007. — 318 c.
Скачать (прямая ссылка): microkontrolleri2007.pdf
Предыдущая << 1 .. 15 16 17 18 19 20 < 21 > 22 23 24 25 26 27 .. 100 >> Следующая

с Флаг переноса Устанавливается, когда результат операции в АЛУ создает бит переноса
V Переполнение результата вычисления Устанавливается, когда в результате операции в АЛУ имеет место переполнение
Z Флаг нулевого результата Устанавливается, когда имеет место нулевой результат операции в АЛУ
E Флаг конца таблицы Устанавливается, когда адрес исходного операнда команды 8ОООн или 8Он
MULIP Флаг выполнения операции умножения и деления 0 - отсутствие выполнения операции умножения и деления 1 - умножение и деление были прерваны
USRO Пользовательский флаг основного назначения
HLDEN, ILVL, IEN Поле управления прерываниями и EBC Показывает запросы на прерывания и включает управление внешней шиной

Флаги состояния ALU (N, C,V,Z,E, MULIP)

Флаги состояния АЛУ регистра PSW показывают состояние после выполнения последней операции в АЛУ. Эти флаги устанавливаются после большинства команд и зависят от специальных правил, зависящих от операции в АЛУ, или от операции перемещения данных.

После выполнения команды, которая явно изменяет состояние PSW-регистра, флаги состояния не могут быть распознаны, как описано, так как явное чтение состояния PSW-регистра сменит значения флагов состояния, потому что они генерируются ЦПУ. Явное чтение PSW-регистра выдаст результат в виде значения, которое показывает состояние PSW-регистра после выполнения непосредственно предшествовавшей операции.

Примечание: После RESET все биты в регистре, отвечающие за состояние АЛУ, очищаются.

• N-флаг: Для большинства операций с АЛУ, N-флаг устанавливается в единицу в том случае, если старший значащий бит в результате операции содержит «1», в противоположном случае флаг устанавливается в «О». В случае целочисленных (integer) операций, N-флаг

4-16 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Организация памяти/С167

может быть интерпретирован как бит знака в результате операции (отрицательный N=1, положительный 1=О). Отрицательные числа всегда представляются в виде дополнительных чисел. Возможный диапазон чисел со знаком: в случае данных из одного слова - от -8ОООн до +7FFF+, или для однобайтных данных - от -8Он до +7FH. При использовании Boolean битовых операций с одним операндом, N-флаг показывает предыдущее состояние изменяемого бита. Для Boolean битовых операций с двумя операндами N-флаг показывает результат операции XOR с двумя изменяемыми битами.

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

Это означает, что С-флаг устанавливается в «1», если НЕТ переноса из старшего значащего бита вычисляемого слова или байта данных во время операции вычитания, которая выполняется путем двух дополнительных сложений, и С-флаг устанавливается в «О», когда дополнительное сложение приводит к переносу.

С-флаг всегда устанавливается в «О» для логических операций, операций умножения и деления, потому что эти операции не могут вызвать переноса ни при каких условиях.

Для операций сдвига битов и циклического сдвига битов, в С-флаг подставляется значение бита, который был изменен в слове или байте данных последним. Если итог операции был «О», то С-флаг принимает нулевое значение.

Для Boolean операций с битами с одним операндом С-флаг всегда принимает «О» значение. Для Boolean битовых операций с двумя операндами С-флаг принимает результат операции AND с двумя соответствующими битами.

• V-флаг: Для сложения, вычитания, операции дополнения (2's complement) V-флаг всегда принимает значение «1», если результат переходит граничные значения для знаковых чисел, (для слов от -8ОООн до +7FFFH, или для байтов от -8Он до +7FH). Заметим, что результат целочисленного сложения, целочисленного вычитания или 2's complement не является корректным, если V-флаг показывает арифметическое переполнение.

Для умножения и деления V-флаг устанавливается в «1», если результат не может быть представлен в словесном типе данных. Заметим, что деление на ноль всегда приводит к переполнению. В противоположность результату деления, результат умножения правилен, несмотря на значение V-флага.

Так как логические операции в АЛУ не могут нести неправильный результат, для этих операций V-флаг устанавливается в «О».

4-17 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Организация памяти/С167

V-флаг также используется как «приклеивающийся бит» для операций правого циклического сдвига и правого сдвига. Только с использованием С-флага, ошибка сдвига вызываемая командой правого сдвига, может быть оценена до величины результата половины LSB. Вместе с V-флагом, С-флаг позволяет оценивать ошибку сдвига с лучшим разложением (см ниже таблицу).

Для Boolean битовых операций с только одним операндом V-флаг всегда установлен в «О». Для Boolean битовых операций с двумя операндами V-флаг выставляет результат операции OR с двумя битами.

Оценка ошибки вращения правого сдвига
Предыдущая << 1 .. 15 16 17 18 19 20 < 21 > 22 23 24 25 26 27 .. 100 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100