Регистр специальных функций (или регистр специального назначения, или просто регистр специального назначения) — это регистр в микропроцессоре, который управляет или контролирует различные функции микропроцессора. Поскольку специальные регистры тесно связаны с какой-то специальной функцией или состоянием процессора, они не могут быть непосредственно записаны обычными инструкциями (такими как сложение, перемещение и т. Д.). Вместо этого некоторые специальные регистры в некоторых процессорных архитектурах требуют специальных инструкций для их изменения.
В 8051 регистры A, B, DPTR и PSW являются частью группы регистров, обычно называемых SFR (регистры специальных функций). Доступ к SFR можно получить по его имени или по адресу.
В следующей таблице приведен список SFR и их адреса.
Байт Адрес | Битовый адрес | ||||||||
---|---|---|---|---|---|---|---|---|---|
FF | |||||||||
F0 | F7 | F6 | F5 | F4 | F3 | F2 | F1 | F0 | В |
E0 | E7 | E6 | E5 | E4 | E3 | E2 | E1 | E0 | ACC |
Д0 | D7 | D6 | D5 | D4 | D3 | D2 | — | Д0 | PSW |
B8 | — | — | — | До нашей эры | BB | BA | B9 | B8 | IP |
B0 | B7 | B6 | B5 | B4 | B3 | Би 2 | B1 | B0 | P3 |
A2 | AF | — | — | переменный ток | AB | А.А. | A9 | A8 | IE |
A0 | A7 | A6 | A5 | A4 | A3 | A2 | A1 | A0 | P2 |
99 | Не битовая адресуемая | SBUF | |||||||
98 | 9F | 9E | 9D | 9С | 9В | 9А | 99 | 98 | SCON |
90 | 97 | 96 | 95 | 94 | 93 | 92 | 91 | 90 | P1 |
8D | Не битовая адресуемая | TH1 | |||||||
8C | Не битовая адресуемая | TH0 | |||||||
8В | Не битовая адресуемая | TL1 | |||||||
8А | Не битовая адресуемая | TL0 | |||||||
89 | Не битовая адресуемая | TMOD | |||||||
88 | 8F | 8E | 8D | 8C | 8В | 8А | 89 | 88 | TCON |
87 | Не битовая адресуемая | PCON | |||||||
83 | Не битовая адресуемая | DPH | |||||||
82 | Не битовая адресуемая | DPL | |||||||
81 | Не битовая адресуемая | SP | |||||||
80 | 87 | 87 | 85 | 84 | 83 | 82 | 81 | 80 | P0 |
Рассмотрим следующие два момента об адресах SFR.
-
Регистр специальной функции может иметь адрес от 80H до FFH. Эти адреса выше 80H, так как адреса от 00 до 7FH являются адресами оперативной памяти внутри 8051.
-
Не все адресные пространства от 80 до FF используются SFR. Неиспользуемые местоположения, от 80H до FFH, зарезервированы и не должны использоваться программистом 8051.
Регистр специальной функции может иметь адрес от 80H до FFH. Эти адреса выше 80H, так как адреса от 00 до 7FH являются адресами оперативной памяти внутри 8051.
Не все адресные пространства от 80 до FF используются SFR. Неиспользуемые местоположения, от 80H до FFH, зарезервированы и не должны использоваться программистом 8051.
CY | PSW.7 | Несут флаг |
переменный ток | PSW.6 | Вспомогательный флаг для перевозки |
F0 | PSW.5 | Флаг 0 доступен пользователю общего назначения. |
RS1 | PSW.4 | Зарегистрировать селектор банка, бит 1 |
RS0 | PSW.3 | Зарегистрировать селектор банка, бит 0 |
О.В. | PSW.2 | Флаг переполнения |
— | PSW.1 | Определяемый пользователем FLAG |
п | PSW.0 | ФЛАГИ Паритета. Устанавливается / сбрасывается аппаратно во время цикла инструкций для указания четного / нечетного числа 1 бита в аккумуляторе. |
В следующем примере имена регистров SFR заменяются их адресами.
CY | переменный ток | F0 | RS1 | RS0 | О.В. | — | п |
---|
Мы можем выбрать соответствующий бит регистра банка, используя биты RS0 и RS1.
RS1 | RS2 | Зарегистрировать банк | Адрес |
---|---|---|---|
0 | 0 | 0 | 00H-07H |
0 | 1 | 1 | 08H-0FH |
1 | 0 | 2 | 10H-17H |
1 | 1 | 3 | 18H-1FH |
Слово состояния программы (PSW) содержит биты состояния, отражающие текущее состояние ЦП. Варианты 8051 предоставляют один специальный регистр функций, PSW, с этой информацией о состоянии. 8251 предоставляет два дополнительных флага состояния, Z и N, которые доступны во втором регистре специальной функции под названием PSW1.