Читайте также: |
|
Скидання біта в регістрі f
Синтаксис: BCF f,b
Операнди: 0 <= f <= 31, 0 <= b <= 7
Операція: 0->f(b)
Біти стану: Не змінюються.
Код: 0100 bbbf ffff
Опис: Біт b регістра f скидається в 0.
Циклів: 1
Приклад: BCF FLAG_REG, 7
Перед виконанням команди: FLAG_REG = 0xC7
Після виконання команди: FLAG_REG = 0x47
BSF Bit Set f
Установка біта в регістрі f
Синтаксис: BSF f,b
Операнди: 0 <= f <= 31, 0 <= b <= 7
Операція: 1 -> f(b)
Біти стану: Не змінюються.
Код: 0101 bbbf ffff
Опис: Біт b регістра f встановлюється в 1.
Циклів: 1
Приклад: BSF FLAG_REG, 7
Перед виконанням команди: FLAG_REG = 0x0A
Після виконання команди: FLAG_REG = 0x8A
BTFSC Bit Test f, Skip if Clear
Пропустити команду, якщо біт дорівнює нулю
Синтаксис: BTFSC f, b
Операнди: 0 <= 31, 0 <= b <= 7
Операція: Пропустити, якщо f(b) = 0.
Біти стану: Не змінюються.
Код: 0110 bbbf ffff
Опис: Якщо біт b регістра f дорівнює 1, виконується наступна команда. Якщо біт b регістра f дорівнює 0, то наступна команда, зчитувана у поточному командному циклі, ігнорується, і замість неї в наступному циклі виконується NOP, у результаті команда виконується за два цикли.
Циклів: 1(2)
Приклад: HERE BTFSC FLAG, 1
FALSE GOTO PROCESS_CODE
TRUE
.
.
Перед виконанням команди: РС = адреса HERE
Після виконання команди:
якщо FLAG = 0, РС = адреса TRUE
якщо FLAG = l, РС = адреса FALSE
BTFSS Bit Test f, Skip if Set
Пропустити команду, якщо біт дорівнює одиниці
Синтаксис: BTFSS f, b
Операнди: 0 <= f <= 31, 0 <= b <= 7
Операція: Пропустити, якщо f(b) = 1.
Біти стану: Не змінюються.
Код: 0111 bbbf ffff
Опис: Якщо біт b регістра f дорівнює 0, виконується наступна команда. Якщо біт b регістра f дорівнює 1, то наступна команда, зчитувана в поточному командному циклі, ігнорується, і замість неї в такому циклі виконується NOP, у результаті команда виконується за два цикли.
Циклів: 1(2)
Приклад: HERE BTFSS FLAG, 1
FALSE GOTO PROCESS_CODE
TRUE
.
Перед виконанням команди: РС = адреса HERE
Після виконання команди:
якщо FLAG = 0, РС = адреса FALSE
якщо FLAG = 1, РС = адреса TRUE
CALL Call subroutine
Виклик підпрограми
Синтаксис: CALL k
Операнд: 0 <= k <= 255
Операція: (PC) +1-> TOS, k-> PC <7:0>,
(STATUS <6:5>)->PC <10:9>, 0-> PC <8>
Біти стану: Не змінюються.
Код: 1001 kkkk kkkk
Опис: Адреса повернення (РС + 1) зберігається в стеку. Молодші 8 біт адреси завантажуються в PC із коду команди. Старші два біти адреси завантажуються в PC із регістра STATUS (03h). Біт РС<8> скидається в нуль.
Циклів: 2
Приклад: HERE CALL THERE
Перед виконанням команди: PC = адреса HERE
Після виконання команди: PC = адреса THERE
TOS = aдрecа HERE+1
LRF Clear f
Дата добавления: 2014-12-18; просмотров: 197 | Поможем написать вашу работу | Нарушение авторских прав |