Приложение д Описание инструкций мк pic
Константа в инструкциях представлена символом k. В описании инструкций указаны флаги, которые могут измениться при ее выполнении. Параметрd(dest) в инструкциях определяет, в какой регистр записывается результат. Еслиd=0 или отсутствует, результат сохраняется в регистреW. Еслиd=1, результат сохраняется в регистреf (от слова file). В программах для параметра dвместо ‘0’ можно писать ‘W’, вместо ‘1’ можно писать ‘f’.
Вместо адреса регистра в программе более удобно писать его символьное имя. Например, если регистр по адресу h’21’ имеет имяR1, тогда инструкция, описанная какADDWF f, d, в программе может быть записана двумя способами:ADDWF h’21’ , W илиADDWF R1, W.
Директива ORGh’xx’ – это указатель для ассемблера, что код, следующий за этим выражением, начинается с адресаh’xx’ ЭППЗУ.
ADDLW- СложитьkсW.
Синтаксис: [label] ADDLWk.
Операнды: 0£k£255.
Операция: (W) +k(W).
Изменяемые флаги: С, DC,Z.
ADDWF - СложениеWиf.
Синтаксис: [label] ADDWFf,d.
Операнды: 0£f£127.
Операция: (W) + (f)(dest).
Изменяемые флаги: C,DC,Z.
ANDLW - Побитное 'И'kиW.
Синтаксис: [label] ANDLWk.
Операнды: 0£k£255.
Операция: (W) .AND.k(W).
Изменяемые флаги: Z.
ANDWF - Побитное 'И’Wиf.
Синтаксис: [label] ANDWFf,d.
Операнды: 0£f£127.
Операция: (W) .AND. (f)(dest).
Изменяемые флаги: Z.
BCF - Очистить битbв регистреf.
Синтаксис: [label] BCFf,b.
Операнды: 0£f£127; 0£b£7.
Операция: 0 (f<b>).
Изменяемые флаги: Нет.
BSF - Установить битbв регистреf.
Синтаксис: [label] BSFf,b.
Операнды: 0£f£127; 0£b£7.
Операция: 1f<b>.
Изменяемые флаги: Нет.
BTFSC - Проверить битbв регистреf, пропустить следующую инструкцию, еслиb=0.
Синтаксис: [label] BTFSCf,b.
Операнды: 0£f£127; 0£b£7.
Изменяемые флаги: Нет.
Описание: Если бит bв регистреfравен 0, то следующая инструкция программы пропускается.
BTFSS - Проверить битb в регистреf,пропустить, еслиb= 1.
Синтаксис: [label] BTFSSf,b.
Операнды: 0£f£127; 0£b£7.
Изменяемые флаги: Нет.
Описание: Если бит bв регистреfравен ‘1’, то следующая инструкция программы пропускается.
CALL Вызов подпрограммы
Синтаксис: [label] CALLf.
CLRF - Очиститьf.
Синтаксис: [label] CLRFf.
Операнды: 0£f£127.
Операция: 00hà(f); 1àZ.
Изменяемые флаги: Z.
Описание: Очистить содержимое регистра fи установить флагZ=1.
COMF- Инвертироватьf.
Синтаксис: [label] COMFf,d.
Операнды: 0£f£127.
Операция: (-f)à(dest).
Изменяемые флаги: Z.
Описание: Инвертировать все биты в регистре f.
DECF- Вычесть 1 из регистраf.
Синтаксис: [label] DECFf,d.
Операнды: 0£f£127.
Операция: (f) - 1(dest).
Изменяемые флаги: Z.
DECFSZ - Вычесть 1 изfи пропустить, еслиf=0.
Синтаксис: [label] DECFSZf,d.
Операнды: 0£f£127.
Операция: (f) -1à(dest).
Изменяемые флаги: Нет.
Описание: Декрементировать содержимое регистра f. Если результат равен '0', то следующая инструкция программы пропускается.
GOTO - Безусловный переход.
Синтаксис: GOTOk.
Операнды: 0£k£2047.
Операция: Переход на метку.
Изменяемые флаги: Нет.
INCF - Прибавить 1 кf.
Синтаксис: label] INCFf,d.
Операнды: 0£f£127.
Операция: (f) + 1à(dest).
Изменяемые флаги: Z.
IORLW - Побитное 'ИЛИ'kиW.
Синтаксис: [label] IORLWk.
Операнды: 0£k£255.
Операция (W).OR.(k)à(W).
Изменяемые флаги: Z.
IORWF - Побитное 'ИЛИ' Wиf.
Синтаксис: [label] IORWFf,d.
Операнды: 0£f£ 127.
Операция: (W).OR.(f)à(dest).
Изменяемые флаги: Z.
MOVF - Переслатьf.
Синтаксис: [label] MOVFf,d.
Операнды: 0£f£127.
Операция: (f)à(dest).
Изменяемые флаги: Z.
Описание: Значение d=1 используется для проверки содержимого регистраfна ноль, которое регистрируется флагомZ.
MOVLW - ПереслатьkвW.
Синтаксис: [label] MOVLWk.
Операнды: 0£k£255.
Операция: kà(W).
Изменяемые флаги: Нет.
Описание: В неиспользуемых битах ассемблер устанавливает '0'.
MOVWF - ПереслатьWвf.
Синтаксис: [label] MOVWFf.
Операнды: 0£f£127.
Операция: (W)à(f).
Изменяемые флаги: Нет.
NOP - Нет операции.
RETURN - Возврат из подпрограммы.
Синтаксис: [label] RETURN.
Операнды: Нет.
Операция: TOSàPC.
Изменяемые флаги: Нет.
Описание: Возврат из подпрограммы. Вершина стека TOSзагружается в счетчикPC.
RLF - Циклический сдвиг регистраf влево через битCрегистраStatus.
Синтаксис: [label] RLFf,d.
Операнды: 0£f£127.
Изменяемые флаги: С.
Описание: Выполняется циклический сдвиг влево содержимого регистра fчерез битСрегистраStatus.
RRF - Циклический сдвиг регистраfвправо через битCрегистраstatus.
Синтаксис: [label] RRFf,d.
Операнды: 0£f£127.
Изменяемые флаги: С.
Описание: Выполняется циклический сдвиг вправо содержимого регистра fчерез битСрегистраStatus.
SLEEPПерейти в режимSLEEP.
Синтаксис: [label] SLEEP.
Операнды: Нет.
Операция: 00hàWDT;
00hàпредделительWDT;
1 à-ТО; 0àPD.
Изменяемые флаги: -ТО, -PD.
Описание: Сбросить флаг включения питания -PDв '0'. Установить флаг -ТО переполненияWDTв '1'. Очистить таймерWDTи его предделитель. Перевести микроконтроллер в режимSLEEPи выключить тактовый генератор.
SUBLW - ВычестьWизk.
Синтаксис: [label] SUBLWk.
Операнды: 0£k£255.
Операция: k- (W)à(W).
Изменяемые флаги: C,DC,Z.
SUBWF - ВычестьWизf.
Синтаксис: [label] SUBWFf,d.
Операнды: 0£f£127;dÎ[0,1].
Операция: (f) –(W)à(dest).
Изменяемые флаги: C,DC,Z.
SWAPF - Поменять местами полубайты в регистреf.
Синтаксис: [label] SWAPFf,d.
Операнды: 0£f£127.
Операция: (f<3:0>)à(dest<7:4>).
Изменяемые флаги: Нет.
XORLW- Побитное'исключающее ИЛИ'kиW.
Синтаксис: label] XORLWk.
Операнды: 0£k£255.
Операция: (W).XOR.kà(W).
Изменяемые флаги: Z.
XORWF- Побитное'исключающее ИЛИ'Wиf.
Синтаксис: [label] XORWFf,d.
Операнды: 0£f£127.
Операция: (W).XOR.(f)à(dest).
Изменяемые флаги: Z.
Yandex.RTB R-A-252273-3
- Микропроцессорные системы в электроэнергетике
- Алматы 2013
- Введение
- 1 Системы счислений. Карта памяти микроконтроллера
- 1.1 Краткие теоретические сведения
- 1.2 Задания
- 1.3 Контрольные вопросы
- 2 Изучение среды mplab. Управление оборудованием
- 2.1 Краткие теоретические сведения и задания для внеаудиторной подготовки
- "Умк-mini"
- 2.2 Исходные данные
- 2.3 Выполнение проекта на умк-7
- 4.Выполним соответствующие настройки для запуска Вашего проекта:
- 6.Запуск проекта
- 2.4 Контрольные вопросы
- 3 Сложение, вычитание. Логика
- 3.1 Теоретические сведения
- 3.2 Исходные данные и выполнение программы
- 3.4 Контрольные вопросы
- 4 Операции преобразования информации
- 4.1 Теоретические сведения
- 4.2 Исходные данные и задание
- 4.3 Контрольные вопросы
- 5 Анализ информации посредством регистра состояния
- 5.1 Теоретические сведения
- 5.2 Исходные данные
- 5.3 Порядок выполнения работы
- 5.4 Контрольные вопросы
- 6 Маскирование
- 6.1 Краткие теоретические сведения
- 6.2 Исходные данные и задание
- 6.3 Контрольные вопросы
- 7 Суммирование массива информации
- 7.1 Теоретические сведения
- 7.2 Исходные данные
- 7.3 Выполнение задания
- 7.4 Контрольные вопросы
- 8 Автоматизация окрасочной камеры. Организация подпрограмм
- 8.1 Теоретические сведения
- 8.2 Задание на проектирование.
- 8.3 Выполнение задания
- 8.4 Контрольные вопросы
- 9 Программированиеклавиатуры
- 9.1 Теоретические сведения
- 9.2 Задание на проектирование
- Фрагмент 9.1. Программирование клавиатуры.
- 9.3 Задание на выполнение
- 9.4 Контрольные вопросы
- 10 Автоматизация упаковки
- 10.1 Задание на автоматизацию упаковочной машины
- 10.2 Исходные данные
- 10.3 Выполнение задания
- 10.4 Контрольные вопросы
- 11 Программирование обработки аварийной ситуации
- 11.1 Теоретические сведения
- 11.2 Задание на проектирование и выполнение программы
- 11.3 Контрольные вопросы
- 12 Программирование таймерных функций
- 12.1 Задание на проектирование
- 12.2 Выполнение работы
- 12.3 Контрольные вопросы
- Приложение а Системы счислений
- Приложение б Карта памяти мк pic16877
- Приложение в
- Регистр Status
- Приложение д Описание инструкций мк pic
- Приложение е Модуль таймера tmr1
- Список литературы
- Содержание
- 0 50013, Алматы, Байтурсынова, 126