0xx kkkk kkkk
Синтаксис: [label] MOVLW k
Операнди: 0? k? 255
Операція: k? (W)
На прапори стани не впливає.
Опис: пересилає 8мібітную константу k з коду команди в робочий регістр W.
У невикористовуваних бітах, в коді команди, встановлюється логічний нуль.
Цикли: 1
Приклад: MOVLW 05Ah після виконання W=5Ah
) MOVWF переслати константу W в регістр f.
Код: 00 +0000 1fff ffff
Синтаксис: [label [MOVWF f
Операнди: 0? f? 127
Операція: (W)? (f)
На прапори стани не впливає.
Опис: пересилає вміст робочого регістра W в регістр f
Цикли виконання: 1
Приклад: MOVWF OPTION_REG
До виконання: OPTION_REG=0FFh
W=4Fh
Після виконання: OPTION_REG=4Fh
W=4Fh
) MOVF переслати f.
Код: 00 1 000 dfff ffff
Синтаксис: [label] MOVF f, d
Операнди: 0? f? 127 при d? [0,1]
Операція: (f)? (dest)
Стан прапорів АЛУ: Z
Опис: Вміст регістра f пересилається в регістр адресата. Якщо d=0, значення зберігається в регістрі W. Якщо d=1, значення зберігається в регістрі f, використовується для перевірки вмісту регістра на нуль.
Цикли виконання команди: 1
Приклад: MOVF FSR, 0
До виконання команди: W=00h
FSR=0C2h
Після виконання команди: W=0C2h
FSR=0C2h
Z=0
4) SUBWF відняти W з f.
Код: 00 +0010 dfff ffff
Синтаксис: [label] SUBWF f, d
Операнди: 0? f? 127 при d? [0,1]
Операція: (f) - (W)? (dest)
Стан прапорів АЛУ: C, DC, Z
Опис: Віднімає вміст регістра W з регістра f. Якщо d=0, значення зберігається в регістрі W. Якщо d=1, значення зберігається в регістрі f.
Цикли виконання команди: 1
Приклад: SUBWF REG1,1
До виконання команди: REG1=03h
W=02h
C=x
Z=x
Після виконання команди: REG1=01h
W=02h
C=1; результат позитивний
Z=0
) BTFSS перевірити біт b в регістрі f, пропустити якщо 1.
Код: 01 11bb bfff ffff
Синтаксис: [label] BTFSS f, b
Операнди: 0? f? 127 при 0? b? 7
Операція: пропустити якщо (f lt; b gt;)=1
Стан прапорів АЛУ: не впливає
Опис: Якщо біт b в регістрі f дорівнює 0, то виповнюється наступна інструкція. Якщо біт b в регістрі f дорівнює=1, то така інструкція не виконується, команда виконується за два цикли. У другому циклі виконується NOP.
Цикли виконання команди: 1 (2)
Приклад: BTFSS FLAG, 4
FALSE GOTO PROCESS_CODE
TRUE
Випадок 1: До виконання команди: PC=адреса HERE
FLAG xxx0 xxxx
Після виконання команди: Т. к. FLAG lt; 4 gt; =0
PC=адреса FALSE
Випадок 2: До виконання команди: PC=адреса HERE
FLAG xxx1 xxxx
Після виконання команди: Т. к. FLAG lt; 4 gt; =1
PC=адреса TRUE
) INCF додати 1 до f.
Код: 00 1010 dfff ffff
Синтаксис: [label] INCF f, d
Операнди: 0? f? 127 при d? [0,1]
Операція: (f) + 1? (dest)
Стан прапорів АЛУ: Z
Опис: інкрементіровать вміст регістра f. Якщо d=0, значення зберігається в регістрі W. Якщо d=1, значення зберігається в регістрі f.
Цикли виконання команди: 1
Приклад: INCF CNT, 1
До виконання команди: CNT=0FFh
Z=0
Після виконання команди: CNT=00h
Z=1