Исполнительный блок(Рис. 5.5) осуществляет обработку данных, поступающих от двух источников. Одним из этих источников является 8-ми битный регистр W.В качестве другого источника может выступать:
Рис. 5.5. Исполнительный блок микроконтроллера
1. Регистр данных, указанный в команде. Например, команда ADDWF TEMP,F прибавляет содержимое W к содержимому регистра TEMP.
2. Константа, являющаяся частью слова команды. Например, ADDLW 05 прибавляет 5 к содержимому рабочего регистра.
Режим работы АЛУ определяется сигналами, формируемыми дешифратором команд. Результат помещается либо в рабочий регистр, если бит адресата равен W (ADDWF TEMP,W), либо обратно в память данных, если этот бит F (ADDWF TEMP,F), перезаписывая исходное значение.
Регистр слова состояния STATUS
В регистре STATUS находятся биты стpаничной адpесации, а также биты-флаги пеpеноса, десятичного пеpеноса и нуля. Флаги – это определенные разряды регистра, которые указывают на результат выполнения операции.
Флаг переноса С (Carry-перенос) показывает, было ли переполнение предыдущей операции сложения. При выполнении операции вычитания флаг С указывает на знак результата операции:
если результат операции положительный (А─В>0 т.е. А>В), то флаг С =1,
если результат операции отрицательный (А─В<0 т.е. А<В), то флаг С =0.
Кроме того, при выполнении команд сдвига, флаг C загружается в старший или младший бит двигаемого регистра (в зависимости от направления сдвига).
Флаг десятичного переноса DC (DigitCarry) показывает, было ли переполнение младшего полубайта. Информация о наличии/отсутствии переноса из младшего полубайта полезна при работе с данными в двоично-десятичномкоде.
Рис. 5.6.Регистр слово состояния STATUS
Флаг нулевого результата Z (Zero-ноль) довольно часто используется на практике.
При выполнении операции вычитания флаг Z указывает на нулевой результат операции: А─В=0, т.е. А=В – флаг Z=1.
Флаг включения питания ─PD (PowerDown) сбрасывается при выполнении команды sleep, которая используется выключения тактового генератора и перевода в режим пониженного энергопотребления (<1 мкА).