Регистр статуса (STATUS) содержит признаки операции (арифметические флаги) АЛУ, состояние контроллера при сбросе и биты выбора страниц для памяти данных. Назначение бит регистра приведено в табл. 5.3.
R/W-0 | R/W-0 | R/W-0 | R-1 | R-1 | R/W-x | R/W-x | R/W-x |
IRP | RP1 | RP0 | /TO | /PD | Z | DC | C |
Бит 7 | Бит 6 | Бит 5 | Бит 4 | Бит 3 | Бит 2 | Бит 1 | Бит 0 |
Бит 7: IRP: бит выбора страницы банка данных (используется при косвенной адресации) 0 = банк 0,1 (00h – FFh) 1 = банк 2,3 (100h – 1FFh) Бит IRP не используется в МК подгруппы PIC16F8X | |||||||
Биты 6-5: RP1:RP0: биты выбора страницы банка данных (используются при прямой адресации) 00 = банк 0 (00h – 7Fh) 01 = банк 1 (80h – FFh) 10 = банк 2 (100h – 17Fh) 11 = банк 3 (180h – 1FFh) В МК подгруппы PIC16F8X используется только бит RP0 | |||||||
Бит 4: /TO: бит срабатывания сторожевого таймера 1 = после включения питания, а также командами CLRWDT и SLEEP 0 = по завершении выдержки сторожевого таймера | |||||||
Бит 3: /PD: бит снижения потребляемой мощности 1 = после включения питания, а также командой CLRWDT 0 = по команде SLEEP | |||||||
Бит 2: Z: бит нулевого результата 1 = результат арифметической или логической операции нулевой 0 = результат арифметической или логической операции ненулевой | |||||||
Бит 1: DC: бит десятичного переноса/заема (для команд ADDWF и ADDLW) 1 = имеет место перенос из 4-го разряда 0 = нет переноса из 4-го разряда | |||||||
Бит 0: C: бит переноса/заема (для команд ADDWF и ADDLW) 1 = имеет место перенос из самого старшего разряда 0 = нет переноса из самого старшего разряда Примечание: вычитание осуществляется путем прибавления дополнительного кода второго операнда. При выполнении команд сдвига этот бит загружается из младшего или старшего разряда сдвигаемого источника. |
Здесь и далее: R — читаемый бит; W — записываемый бит; S — устанавливаемый бит; U — неиспользуемый бит (читается как "0"); -n = 0 или 1 — значение бита после сброса.
Регистр статуса доступен для любой команды так же, как любой другой регистр.