Читайте также:
|
|
В описании команд используются следующие условные обозначения:
— регистр X.
— бит y регистра X.
— биты с y по z регистра X.
— операция выполняется лишь тогда, когда условие верно
Строчные латинские буквы операндов в графе «синтаксис», обычно обозначают следующее:
f — номер регистра в регистровом файле;
d — указатель направления;
k — константа-литерал;
b — номер бита в регистре.
ADDLW — Сложение рабочего регистра W и константы k
Синтаксис | ADDLW k |
Операнды | |
Операция | |
Измен. флаги | C, DC, Z |
Описание | Содержимое регистра W складывается с константой k. Результат помещается в регистр W. |
Пример | ; w = 10 addlw 12 ; w = 22 addlw 342; ошибка, константа k больше 255 |
ADDWF — Сложение рабочего регистра W и регистра f
Синтаксис | ADDWF f, d |
Операнды | |
Операция | |
Измен. флаги | C, DC, Z |
Описание | Содержимое регистра W складывается c содержимым регистра f. Результат помещается в регистр W, при d=0, или в f при d=1. |
Пример | ; w = 10 f(11)=14 addwf 11,1 ; w = 10, f(11)=24 addwf 11,0 ; w = 34, f(11)=24 |
ANDLW — Побитное «И» рабочего регистра W и константы k
Синтаксис | ANDLW k |
Операнды | |
Операция | |
Измен. флаги | C, DC, Z |
Описание | Выполняется побитное «И» регистра W и 8-битной константы k. Результат помещается в регистр W. |
Пример | ; w = 3 addlw 2 ; w = 1 |
ANDWF — Побитное «И» рабочего регистра W и регистра f
Синтаксис | ANDWF f, d |
Операнды | |
Операция | |
Измен. флаги | C, DC, Z |
Описание | Выполняется побитное «И» регистра W c содержимым регистра f. Результат помещается в регистр W, при d=0, или в f при d=1. |
Пример | ; w = 7 = 0b111, f(4)= 3 = 0b 11 andwf 4,0 ; w = 3, f(4)=3 |
BCF — Очистка бита b регистра f
Синтаксис | BCF f,b |
Операнды | |
Операция | |
Измен. флаги | |
Описание | Бит b регистра f устанавливается в 0. |
Пример | ; f(4) = 7 = 0b111 bcf 4,1 ; f(4) = 5 = 0b101 |
BSF — Установка бита b регистра f в единицу
Синтаксис | BCF f,b |
Операнды | |
Операция | |
Измен. флаги | |
Описание | Бит b регистра f устанавливается в 1. |
Пример | ; f(4) = 5 = 0b101 bsf 4,1 ; f(4) = 5 = 0b111 |
BТFSC — Условный переход при нулевом бите b регистра f
Синтаксис | BTFSC f,b |
Операнды | |
Операция | |
Измен. флаги | |
Описание | Если бит b регистра f устанавлен в 0, инкрементируется счетчик команд PC (тем самым, пропускается следующая команда), в противном случае ничего не выполняется. В случае инкремента счетчика команда выполняется за 2 машинных цикла, иначе — за 1. |
Пример | ; f(7) = 6 = 0b110, w = 1 btfsc 7,1 addlw 4 btfsc 7,0 addlw 9 ; w = 10 |
BТFSS — Условный переход при единичном бите b регистра f
Синтаксис | BTFSS f,b |
Операнды | |
Операция | |
Измен. флаги | |
Описание | Если бит b регистра f устанавлен в 1, инкрементируется счетчик команд PC (тем самым, пропускается следующая команда), в противном случае ничего не выпоняется. В случае инкремента счетчика команда выполняется за 2 машинных цикла, иначе — за 1. |
Пример | ; f(7) = 6 = 0b110, w = 1 btfss 7,1 addlw 4 btfss 7,0 addlw 9 ; w = 5 |
Дата добавления: 2015-07-08; просмотров: 179 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Режим широтно-импульсной модуляции | | | CALL — Вызов подпрограммы |