Instruction |
Syntax |
Operation |
Encoding |
Words |
Cycles |
Flags |
ADDWF |
ADDWF f,d |
(W + f) → d |
0001 11df ffff |
1 |
1 |
C,DC,Z |
ANDLW |
ANDLW k |
(W .AND. k) → W |
1110 kkkk kkkk |
1 |
1 |
Z |
ANDWF |
ANDWF f,d |
(W .AND. f) → d |
0001 01df ffff |
1 |
1 |
Z |
BCF |
BCF f,b |
0 → f(b) |
0100 bbbf ffff |
1 |
1 |
None |
BSF |
BSF f,b |
1 → f(b) |
0101 bbbf ffff |
1 |
1 |
None |
BTFSC |
BTFSC f,b |
skip if bit(b) in file(f) is clear |
0110 bbbf ffff |
1 |
1(2) |
None |
BTFSS |
BTFSS f,b |
skip if bit(b) in file(f) is set |
0111 bbbf ffff |
1 |
1(2) |
None |
CALL |
CALL k |
PC + 1 → Stack, k → PC |
1001 kkkk kkkk |
1 |
2 |
None |
CLRF |
CLRF f |
00h → f |
0000 011f ffff |
1 |
1 |
Z |
CLRW |
CLRW |
00h → W |
0000 0100 0000 |
1 |
1 |
Z |
CLRWDT |
CLRWDT |
00h → WDT, 0 → WDT prescaler |
0000 0000 0100 |
1 |
1 |
1 → TO, 1 → PD |
COMF |
COMF f,d |
neg(f) → d |
0010 01df ffff |
1 |
1 |
Z |
DECF |
DECF f,d |
(f - 1) → d |
0000 11df ffff |
1 |
1 |
Z |
DECFSZ |
DECFSZ f,d |
(f - 1) → d, skip if result = 0 |
0010 11df ffff |
1 |
1(2) |
None |
GOTO |
GOTO k |
k → PC ( 9 bits ) |
101k kkkk kkkk |
1 |
2 |
None |
INCF |
INCF f,d |
(f + 1) → d |
0010 10df ffff |
1 |
1 |
Z |
INCFSZ |
INCFSZ f,d |
(f + 1) → d, skip if result = 0 |
0011 11df ffff |
1 |
1(2) |
None |
IORLW |
IORLW k |
(W .OR. k) → W |
1101 kkkk kkkk |
1 |
1 |
Z |
IORWF |
IORWF f,d |
(f .OR. W) → d |
0001 00df ffff |
1 |
1 |
Z |
MOVF |
MOVF f,d |
(f) → d |
0010 00df ffff |
1 |
1 |
Z |
MOVLW |
MOVLW k |
k → W |
1100 kkkk kkkk |
1 |
1 |
None |
MOVWF |
MOVWF f |
W → f |
0000 001f ffff |
1 |
1 |
None |
NOP |
NOP |
No operation |
0000 0000 0000 |
1 |
1 |
None |
OPTION |
OPTION |
W → OPTION |
0000 0000 0010 |
1 |
1 |
None |
RETLW |
RETLW k |
k → W, Stack → PC |
1000 kkkk kkkk |
1 |
2 |
None |
RLF |
RLF f,d |
f(n) → d(n+1), C → d(0), f(7) → C |
0011 01df ffff |
1 |
1 |
C |
RRF |
RRF f,d |
f(n) → d(n-1), C → d(7), f(0) → C |
0011 00df ffff |
1 |
1 |
C |
SLEEP
| SLEEP |
0→PD, 1→TO, 00h→WDT, 0→WDT prescaler |
0000 0000 0011 |
1 |
1 |
TO, PD |
SUBWF
| SUBWF f,d |
(f - W) → d |
0000 10df ffff |
1 |
1 |
C,DC,Z |
SWAPF
| SWAPF f,d |
f<0:3> → d<4:7>, f<4:7> → d<0:3> |
0000 10df ffff |
1 |
1 |
None |
TRIS
| TRIS f |
W → TRIS register f |
0000 0000 0fff |
1 |
1 |
None |
XORLW |
XORLW k |
(W .XOR. k) → W |
1111 kkkk kkkk |
1 |
1 |
Z |
XORWF |
XORWF f,d |
(W .XOR. f) → d |
0001 10df ffff |
1 |
1 |
Z |