2.4 Опис регістрів спеціальних функцій
Таблиця 2.1 — Розміщення регістрів спеціальних функцій у просторі РСФ
-
Найменування
РСФ
Призначення
Адреса
P0*
Порт 0
80H
SP
Вказівник стеку
81H
DPL
Молодший байт вказівника даних DPTR
82H
DPH
Старший байт вказівника даних DPTR
83H
PCON
Регістр керування споживанням
87H
TCON*
Регістр керування таймерів/лічильників
88H
TMOD
Регістр режимів таймерів/лічильників
89H
TL0
Таймер/лічильник 0. Молодший байт
8АH
TL1
Таймер/лічильник 1. Молодший байт
8BH
TH0
Таймер/лічильник 0. Старший байт
8CH
TH1
Таймер/лічильник 1. Старший байт
8DH
P1*
Порт 1
90H
SCON*
Регістр керування послідовним портом
98H
SBUF
Буфер послідовного порту
99H
P2*
Порт 2
0A0H
IE*
Регістр дозволу переривань
0A8H
P3*
Порт 3
0B0H
IP*
Регістр пріоритетів переривань
0B8H
PSW*
Регістр стану програми
0D0H
A*
Акумулятор
0E0H
B*
Регістр B
0F0H
* - регістри, що допускають побітову адресацію.
Акумулятор A являє собою 8-розрядний регістр, що є джерелом операнда і місцем фіксації результату при виконанні арифметичних, логічних операцій і ряду операцій передавання даних. Крім того, тільки з використанням акумулятора можуть бути виконані операції зсуву, перевірки на нуль, формування прапора паритету і т.п.
Регістр B — 8-розрядний регістр, що використовується спільно з акумулятором при виконанні операцій множення і ділення для збереження другого вхідного операнду і для приймання розширення 8-ми бітового результату. В інших операціях регістр B є звичайним регістром загального призначення.
Регістр PSW (Program Status Word). Найменування і призначення розрядів регістра PSW наведено в табл.2.8.
Таблиця 2.8 — Найменування і призначення розрядів регістра PSW
Біти |
Назва |
Призначення |
|||||
7 |
C |
Прапор перенесення. Встановлюється в "1" (скидається в "0") апаратно чи програмно. Апаратно встановлюється (скидається) під час виконання команди додавання або вирахування за наявності (відсутності) відповідно перенесення чи позики в 7-ому біті результату. Під час виконання команди множення або ділення прапор завжди апаратно скидається |
|||||
6 |
AC |
Прапор додаткового перенесення. Установлюється (скидається) апаратно або програмно. Апаратно встановлюється (скидається) під час виконання команди додавання чи вираховування за наявності (відсутності) відповідно перенесення або позики в 3-ому біті результату |
|||||
5 |
F0 |
Програмно керований прапор користувача |
|||||
4 3 |
RS1 RS0 |
Розряди керування вибором банку робочих регістрів. Установлюються (скидаються) програмно |
|||||
|
|
|
RS1 |
RS0 |
Банк |
|
|
|
|
|
0 |
0 |
0 |
|
|
|
|
|
0 |
1 |
1 |
|
|
|
|
|
1 |
0 |
2 |
|
|
|
|
|
1 |
1 |
3 |
|
|
2 |
OV |
Прапор переповнення. Установлюється (скидається) апаратно чи програмно. Апаратно встановлюється під час виконання команди додавання (вираховування) якщо є перенесення (позика) у 6-ому біті результату і немає перенесення (позики) у біті 7, чи є перенесення (позика) у біті 7 і немає в біті 6, у протилежному випадку прапор скидається. Під час виконання команди розподілу прапор апаратно скидається, а у випадку розподілу на нуль – установлюється. При множенні прапор апаратно встановлюється, якщо результат більше 255, у протилежному випадку – скидається |
|||||
1 |
Без імені |
Прапор користувача. Установлюється (скидається) програмно. Доступний для читання |
|||||
0 |
P |
Прапор паритету. Програмно доступний тільки для читання. Апаратно скидається (установлюється) у кожному машинному циклі для індикації парності (непарності) кількості розрядів акумулятора, що знаходяться в стані "1". Якщо в акумуляторі всі розряди скинуті в "0", прапор апаратно скидається |