Читайте также:
|
|
Синтаксис: RRF f,d
Операнди: 0 <= f <=31, dє [0,1]
Операція: t <n> -> d <n-1>, f <0> -> C, C -> d <7>
Біти стану: С
Код: 001111df ffff
Опис: Вміст регістра f зсувається на 1 біт вправо через біт переносу С. Якщо d = 0, результат зберігається в регістрі W. Якщо d = 1, результат зберігається в тому ж регістрі f.
Циклів: 1
Приклад: RRF REG1, 0
Перед виконанням команди: REG1 = 11100110 C = 0
Після виконання команди: REG1 = 11100110 C = 0,
W = 01110011
SLEEP Go into standby mode
Перехід у режим SLEEP
Синтаксис: SLEEP
Операнд: Немає
Операція: 00h -> WDT, 0 -> WDT prescaler, 1 -> TO, 0 -> PD
Біти стану: ТЕ, PD
Код: 0000 0000 0011
Опис: Команда скидає сторожовий таймер WDT і попередній дільник. У регістрі стану встановлюється біт ТЕ і скидається біт PD. Процесор переходить у режим SLEEP із виключеним генератором.
Циклів: 1
Приклад: SLEEP
SUBWF Subtract W from f
Віднімання W із f
Синтаксис: SUBWF f,d
Операнди: 0 <= f <= 31, dє [0,1]
Операція: (f) - (W)-> (dest)
Біти стану: С, DC, Z
Код: 0000 10df ffff
Опис: Якщо d = 0, результат зберігається в регістрі W. Якщо d = 1, результат зберігається в тому ж регістрі f. Біти С і DC встановлюються в 1 у випадку відсутності позики зі старшого розряду.
Циклів: 1
Приклад 1: SUBWF REG1, 1
Перед виконанням команди: REG1 = 3 W = 2
Після виконання команди: REG1 = 1, W = 2,
C = 1;
результат позитивний
Приклад 2: SUBWF REG1, 1
Перед виконанням команди: REG1 = 2, W = 2
Після виконання команди: REG1 = 0, W = 2,
C = 1;
результат дорівнює нулю
Приклад 3: SUBWF REG1,1
Перед виконанням команди: REG1 = 1, W = 2
Після виконання команди: REG1 = 0xFF, W = 2,
C = 0;
результат негативний
SWAPF Swap halves f
Обмін зошитів у f
Синтаксис: SWAPF f,d
Операнди: 0 <= f <= 31, dє [0,1]
Операція: f <0:3> -> d <4:7>, f <4:7> -> d <0:3>
Біти стану: Не змінюються.
Код: 0011 10df ffff
Опис: Вміст старшої і молодшої тетрад регістра f обмінюється. Якщо d = 0, результат зберігається в регістрі W. Якщо d = 1, результат зберігається в тому ж регістрі f.
Циклів: 1
Приклад: SWAPF REG, 0
Перед виконанням команди: REG = 0xA5
Після виконання команди: REG = 0x5A
TRIS TRIS Load THIS Register
Завантаження регістра
Синтаксис: TRIS f
Операнд: 5 <= f <= 7
Операція: (W) -> TRIS register f
Біти стану: Не змінюються.
Код: 0000 0000 0fff
Опис: Вміст регістра W завантажується в регістр TRISA, TRISB або TRISC, при f = 5, 6 або 7, відповідно.
Циклів: 1
Приклад: TRIS PORTB
Перед виконанням команди: W = 0xA5
Після виконання команди: TRlSB = 0xA5
XORLW Exclusive OR literal to W
Вилучення АБО константи і W
Синтаксис: XORLW k
Операнд: 0 <= k <= 255
Операція: (W). XOR. (k) -> W
Біти стану: Z
Код: 1111 kkkk kkkk
Опис: Вміст регістра W порозрядно складається з 8-бітовою константою k за модулем 2. Результат зберігається в регістрі W.
Циклів: 1
Приклад: XORLW 0xAF
Перед виконанням команди: W = 0xB5
Після виконання команди: W = 0x1A
Дата добавления: 2014-12-18; просмотров: 221 | Поможем написать вашу работу | Нарушение авторских прав |