These instructions still work on most models and are useful for optimizations.
| Instruction | Description | Flags affected
|
| ADDWF f,d | ADD WREG to f | OV,C,DC,Z
|
| ADDWFC f,d | ADD WREG and Carry bit to f | OV,C,DC,Z
|
| ANDWF f,d | AND WREG with f | Z
|
| CLRF f,s | Clear f, or Clear f and Clear WREG | -
|
| COMF f,d | Complement f | Z
|
| CPFSEQ f | Compare f with WREG, skip if f = WREG | -
|
| CPFSGT f | Compare f with WREG, skip if f > WREG | -
|
| CPFSLT f | Compare f with WREG, skip if f < WREG | -
|
| DAW f,s | Decimal Adjust WREG Register | C
|
| DECF f,d | Decrement f | OV,C,DC,Z
|
| DECFSZ f,d | Decrement f, skip if 0 | -
|
| DCFSNZ f,d | Decrement f, skip if not 0 | -
|
| INCF f,d | Increment f | OV,C,DC,Z
|
| INCFSZ f,d | Increment f, skip if 0 | -
|
| INFSNZ f,d | Increment f, skip if not 0 | -
|
| IORWF f,d | Inclusive OR WREG with f | Z
|
| MOVFP f,p | Move f to p | -
|
| MOVPF p,f | Move p to f | Z
|
| MOVWF f | Move WREG to f | -
|
| MULWF f | Multiply WREG with f | -
|
| NEGW f,s | Negate WREG | OV,C,DC,Z
|
| NOP | No Operation | -
|
| RLCF f,d | Rotate left f through Carry | C
|
| RLNCF f,d | Rotate left f (no carry) | -
|
| RRCF f,d | Rotate right f through Carry | C
|
| RRNCF f,d | Rotate right f (no carry) | -
|
| SETF f,s | Set f | -
|
| SUBWF f,d | Subtract WREG from f | OV,C,DC,Z
|
| SUBWFB f,d | Subtract WREG from f with Borrow | OV,C,DC,Z
|
| SWAPF f,d | Swap f | -
|
| TABLRD t,i,f | Table Read | -
|
| TABLWT t,i,f | Table Write | -
|
| TLRD t,f | Table Latch Read | -
|
| TLWT t,f | Table Latch Write | -
|
| TSTFSZ f | Test f, skip if 0 | Z
|
| XORWF f,d | Exclusive OR WREG with f | Z
|
| BCF f,b | Bit Clear f | -
|
| BSF f,b | Bit Set f | -
|
| BTFSC f,b | Bit test, skip if clear | -
|
| BTFSS f,b | Bit test, skip if set | -
|
| BTG f,b | Bit Toggle f | -
|
| ADDLW k | ADD literal to WREG | OV,C,DC,Z
|
| ANDLW k | AND literal with WREG | Z
|
| CALL k | Subroutine Call | -
|
| CLRWDT | Clear Watchdog Timer | /TO,/PD
|
| GOTO k | Unconditional Branch | -
|
| IORLW k | Inclusive OR literal with WREG | Z
|
| LCALL k | Long Call | -
|
| MOVLB k | Move literal to low nibble in BSR | -
|
| MOVLR k | Move literal to high nibble in BSR | -
|
| MOVLW k | Move literal to WREG | -
|
| MULLW k | Multiply literal with WREG | -
|
| RETFIE | Return from interrupt (and enable interrupts) | GLINTD
|
| RETLW k | Return literal to WREG | -
|
| RETURN | Return from subroutine | -
|
| SLEEP | Enter SLEEP Mode | /TO,/PD
|
| SUBLW k | Subtract WREG from literal | OV,C,DC,Z
|
| XORLW k | Exclusive OR literal with WREG | Z
|
| Instruction | Description | Flags affected
|
| ADDWF f, d, a | Add WREG and f | C, DC, Z, OV, N
|
| ADDWFC f, d, a | Add WREG and Carry bit to f | C, DC, Z, OV, N
|
| ANDWF f, d, a | AND WREG with f | Z, N
|
| CLRF f, a | Clear f | Z
|
| COMF f, d, a | Complement f | Z, N
|
| CPFSEQ f, a | Compare f with WREG, skip = | None
|
| CPFSGT f, a | Compare f with WREG, skip > | None
|
| CPFSLT f, a | Compare f with WREG, skip < | None
|
| DECF f, d, a | Decrement f | C, DC, Z, OV, N
|
| DECFSZ f, d, a | Decrement f, Skip if 0 | None
|
| DCFSNZ f, d, a | Decrement f, Skip if Not 0 | None
|
| INCF f, d, a | Increment f | C, DC, Z, OV, N
|
| INCFSZ f, d, a | Increment f, Skip if 0 | None
|
| INFSNZ f, d, a | Increment f, Skip if Not 0 | None
|
| IORWF f, d, a | Inclusive OR WREG with f | Z, N
|
| MOVF f, d, a | Move f | Z, N
|
| MOVFF fs, fd | Move fs to fd | None
|
| MOVWF f, a | Move WREG to f | None
|
| MULWF f, a | Multiply WREG with f | None
|
| NEGF f, a | Negate f | C, DC, Z, OV, N
|
| RLCF f, d, a | Rotate Left f through Carry | C, Z, N
|
| RLNCF f, d, a | Rotate Left f (No Carry) | Z, N
|
| RRCF f, d, a | Rotate Right f through Carry | C, Z, N
|
| RRNCF f, d, a | Rotate Right f (No Carry) | Z, N
|
| SETF f, a | Set f | None
|
| SUBFWB f, d, a | Subtract f from WREG with borrow | C, DC, Z, OV, N
|
| SUBWF f, d, a | Subtract WREG from f | C, DC, Z, OV, N
|
| SUBWFB f, d, a | Subtract WREG from f with borrow | C, DC, Z, OV, N
|
| SWAPF f, d, a | Swap nibbles in f | None
|
| TSTFSZ f, a | Test f, skip if 0 | None
|
| XORWF f, d, a | Exclusive OR WREG with f | Z, N
|
| BCF f, b, a | Bit Clear f | None
|
| BSF f, b, a | Bit Set f | None
|
| BTFSC f, b, a | Bit Test f, Skip if Clear | None
|
| BTFSS f, b, a | Bit Test f, Skip if Set | None
|
| BTG f, d, a | Bit Toggle f | None
|
| BC n | Branch if Carry | None
|
| BN n | Branch if Negative | None
|
| BNC n | Branch if Not Carry | None
|
| BNN n | Branch if Not Negative | None
|
| BNOV n | Branch if Not Overflow | None
|
| BNZ n | Branch if Not Zero | None
|
| BOV n | Branch if Overflow | None
|
| BRA n | Branch Unconditionally | None
|
| BZ n | Branch if Zero | None
|
| CALL n, s | Call subroutine | None
|
| CLRWDT | Clear Watchdog Timer | /TO, /PD
|
| DAW | Decimal Adjust WREG | C
|
| GOTO n | Go to address | None
|
| NOP | No Operation | None
|
| POP | Pop top of return stack (TOS) | None
|
| PUSH | Push top of return stack (TOS) | None
|
| RCALL n | Relative Call | None
|
| RESET | Software device Reset | All
|
| RETFIE s | Return from interrupt enable | GIE/GIEH,PEIE/GIEL
|
| RETLW k | Return with literal in WREG | None
|
| RETURN s | Return from Subroutine | None
|
| SLEEP | Go into Standby mode | TO, PD
|
| ADDLW k | Add literal and WREG | C, DC, Z, OV, N
|
| ANDLW k | AND literal with WREG | Z, N
|
| IORLW k | Inclusive OR literal with WREG | Z, N
|
| LFSR f, k | Move literal (12-bit) to FSRx | None
|
| MOVLB k | Move literal to BSR<3:0> | None
|
| MOVLW k | Move literal to WREG | None
|
| MULLW k | Multiply literal with WREG | None
|
| RETLW k | Return with literal in WREG | None
|
| SUBLW k | Subtract WREG from literal | C, DC, Z, OV, N
|
| XORLW k | Exclusive OR literal with WREG | Z, N
|
| TBLRD* | Table Read | None
|
| TBLRD*+ | Table Read with post-increment | None
|
| TBLRD*- | Table Read with post-decrement | None
|
| TBLRD+* | Table Read with pre-increment | None
|
| TBLWT* | Table Write | None
|
| TBLWT*+ | Table Write with post-increment | None
|
| TBLWT*- | Table Write with post-decrement | None
|
| TBLWT+* | Table Write with pre-increment | None
|