Команды работы с байтами используются в РIС МК для пересылки данных между регистрами и выполнения математических операций над их содержимым.
Преимуществом системы команд является возможность использования различных способов обращения к регистрам. Адрес регистра быть указан непосредственно в команде соответствующим 7 битовым полем f. При этом доступ возможен только к данным, расположенным в пределах текущего банка данных. Адресация данных может осуществляться и с помощью индексного регистра FSR, путем обращения к регистру косвенной адресации INDF, расположенному по нулевому адресу.
1.Пересылка данных выполняется с помощью двух команд: МОVF и МОVWF. Команда МОVF используется для установки бита нулевого результата в зависимости от содержимого определенного регистра и может применяться для его загрузки в регистр W.
Команда МОVWF используется для записи содержимого рабочего регистра w в указанный регистр МК. Если в качестве этого регистра указывается INDF, то адрес регистра назначения выбирается из регистра FSR. При выполнении данной команды биты состояния не изменяются.
2.Специальные команды СLRF f и СLRW применяются для очистки регистров МК. Команда СLRF f записывает ноль в указанный регистр.
Команда СLRW — в рабочий регистр. При этом необходимо помнить, что они также устанавливают соответствующее значение бита нуля.
3.Наиболее часто используемой арифметической операцией является сложение, которое выполняется командой АDDWF f,d Эта операция может изменять все биты состояния.
При использовании операции вычитания SUBWF f,d следует иметь в виду, что в РIС МК она выполняет операцию сложения с отрицательным числом.
4.Команды логических операций АNDWF f, d, IORWF f,dи ХORWF f, d позволяют выполнять основные логические операции над соответствующими битами содержимого указанного регистра и регистра w. Команду ХORWF f, d удобно использовать для проверки содержимого некоторого регистра. Для этого необходимо загрузить заданное число в регистр W и выполнить операцию ХORWF f, d над содержимым проверяемого регистра и w. Если содержимое регистра равно содержимому w, то результат операции будет равен нулю, и бит нуля установится в 1.
Команда СОМF f,d используется для инвертирования значений всех битов в регистре источника. Следует отметить, что эта команда не делает число отрицательным.
Команда SWAPF f,d меняет местами тетрады в регистре. Как и в остальных командах данной группы, результат выполнения может быть записан как в регистре w, так и в регистре-источнике. Команду SWAPF f,d можно применять, в частности, для хранения двух цифр в одном регистре, переставляя их в зависимости от того, какую из них вы хотите использовать. С помощью команды SWAPF f,d и удобно разделить байт на две тетрады для их последующего отображения на дисплее.
Основной функцией команд циклического сдвига RLF f,d и RRF f,d является сдвиг содержимого регистра влево или вправо на один бит с записью на место младшего значащего бита значения бита переноса или, соответственно, установления бита переноса в соответствии со значением старшего значащего бита. Команды циклического сдвига могут использоваться для умножения и деления на число 2 в степени п. Они также служат для реализации последовательного ввода или вывода данных и позиционирования байта для того, чтобы можно было тестировать значение отдельных битов.
Команды инкремента INCF f,d и декремента DECF f,d используются для изменения содержимого регистра на 1. После выполнения команд инкремента и декремента может измениться только бит нуля.. Для реализации условных переходов в программе существуют команды инкремента и декремента с пропуском команды при нулевом результате: INCFSZ f,d и DECFSZ f,d. С точки зрения обработки данных они работают аналогично командам INCF f,d и DECF f,d. Основное отличие от этих команд заключается в том, что при нулевом результате выполнения команды INCFSZ f,d и DECFSZ f,d. пропускается следующая за ней команда. Это означает, что эти команды могут использоваться для организации программных циклов. Другая особенность этих команд состоит в том, что они не влияют на содержимое битов состояния регистра SТАТUS.
Команда NОР означает отсутствие операции. Традиционно она используется для двух целей. Первая - обеспечение синхронизации программы с временными характеристиками различных устройств системы.
Вторым возможным вариантом является использование команды N0P для удаления части программного кода.