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

Флаг С устанавливается при переносе из разряда D7, т. е. в случае, если результат не помещается в восемь разрядов; флаг АС устанавливается при переносе из разряда D3 в командах сложения и вычитания и служит для реализации десятичной арифметики. Этот признак используется командой DAA.

Перечень флагов, их символические имена

и условия формирования

Таблица 1.4

Символ Позиция Имя и назначение
P PSW.0 Флаг паритета. Устанавливается и сбрасывается аппаратно в каждом цикле команды и фиксирует нечетное/четное число единичных бит в аккумуляторе
- PSW.1 Не используется
OV PSW.2 Флаг переполнения. Устанавливается и сбрасывается аппаратно при выполнении арифметических операций
RS0 - RS1 PSW.3 - PSW.4 Биты выбора используемого банка регистров. Могут быть изменены программным путем
RS0 RS1 Банк Границы адресов ОЗУ
00H - 07H
08H - 0FH
10H - 17H
18H - 1FH

 

F0 PSW.5 Флаг пользователя. Может быть установлен, сброшен или проверен программой пользователя
АС PSW.6 Флаг вспомогательного переноса. Устанавливается и сбрасывается только аппаратными средствами при выполнении команд сложения и вычитания и сигнализирует о переносе или заеме в бите 3 аккумулятора
C PSW.7 Флаг переноса. Устанавливается и сбрасывается как аппаратно, так и программным путем

 

Формат слова состояния PSW

Обознач. Разряд Наименование и назначение
P PSW.0 Флаг паритета. Устанавливается и сбрасывается аппаратно: P=1, если в аккумуляторе нечетное число единиц; P=0, если в аккумуляторе четное число единиц
PSW.1 Флаг, определяемый пользователем. Устанавливается, сбрасывается и тестируется программно
OV PSW.2 Флаг переполнения. Устанавливается и сбрасывается аппаратно при выполнении арифметических операций.
RS0 PSW.3 Выбор банка регистров. Устанавливаются и сбрасываются программно: RS1=0, RS0=0: Банк 0 (Адреса 00H ¸ 07H) RS1=0, RS0=1: Банк 1 (Адреса 08H ¸ 0FH) RS1=1, RS0=0: Банк 2 (Адреса 10H ¸ 17H) RS1=1, RS0=1: Банк 3 (Адреса 18H ¸ 1FH)
RS1 PSW.4  
F0 PSW.5 Флаг общего назначения. Устанавливается, сбрасывается и тестируется программно
AC PSW.6 Флаг вспомогательного переноса. Устанавливается и сбрасывается только аппаратно при выполнении команд сложения и вычитания и несет информацию о переносе или заеме в 3-ем разряде
C PSW.7 Флаг переноса. Устанавливается и сбрасывается аппаратно (при выполнении арифметических и логических. операций) или программно.

Флаг OV устанавливается при переносе из разряда D6, т. е. в случае, если результат не помещается в семь разрядов и восьмой не может быть интерпретирован как знаковый. Этот признак служит для организации обработки чисел со знаком.

Наконец, флаг Р устанавливается и сбрасывается аппаратно. Если число единичных бит в аккумуляторе нечетно, то Р = 1, в противном случае Р = 0.

Наиболее “активным” флагом PSW является флаг переноса, который принимает участие и модифицируется в процессе выполнения множества операций, включая сложение, вычитание и сдвиги. Кроме того, флаг переноса (C) выполняет функции “булева аккумулятора” в командах, манипулирующих с битами. Флаг переполнения (OV) фиксирует арифметическое переполнение при операциях над целыми числами со знаком и делает возможным использование арифметики в дополнительных кодах. ALU не управляет флагами селекции банка регистров (RS0, RS1), их значение полностью определяется прикладной программой и используется для выбора одного из четырёх регистровых банков.

В микропроцессорах, архитектура которых опирается на аккумулятор, большинство команд работают с ним, используя неявную адресацию. В Intel 8051 дело обстоит иначе. Хотя процессор имеет в своей основе аккумулятор, он может выполнять множество команд и без его участия. Например, данные могут быть переданы из любой ячейки RDM в любой регистр, любой регистр может быть загружен непосредственным операндом и т.д. Многие логические операции могут быть выполнены без участия аккумулятора. Кроме того, переменные могут быть инкрементированы, декрементированы и проверены без использования аккумулятора. Флаги и управляющие биты могут быть проверены и изменены аналогично.








Дата добавления: 2015-10-09; просмотров: 2435;


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

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

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

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