PIC Instruction Set PIC Microcontroller by Ravinder Nath Rajotiya - September 2, 2020September 4, 20200 Share on Facebook Share Send email Mail Print Print Table of Contents Toggle PIC Instruction Set:1. Register File Operations: PIC Instruction Set: PIC is RISC based architecture supporting only 35 instructions. These instructions can be classified in the following categories: 1. Register File Operations: Byte oriented operations Bit oriented operations Literal and control operations 2. Based on Functions Data Transfer Operations Arithmetic Operations Logical Operations Shift and Rotate Branch and Return These instructions are shown in the Byte-Oriented Operations Mnemonic Description Cycles 14-bit OPCode Status Affected ADDWF f,d Add W and F 1 0 0111 dfff ffff C, DC, Z ANDWF f,d Logical AND W with f 1 000101 dfff ffff Z CLRF f Clear f 1 0000011fff ffff Z CLRW Clear W 1 00 0001 0xxx xxxx Z COMF f,d Complement f 1 00 1001 dfff ffff Z DECF f,d Decrement f 1 00 0011 dfff ffff Z DECFSZ f,d Decrement f and skip if zero 1(2) 00 1011 dfff ffff INCF f,d increment 1 00 1010 dfff ffff Z INCFSZ f,d Increment f, and skip if zero 1(2) 00 1111 dfff ffff IORWF f,d Inclusive OR W with f 1 00 0100 dfff ffff Z MOVF f,d Move f 1 00 1000 dfff ffff Z MOVWF f Move W to f 1 00 0000 1fff ffff NOP 1 00 0000 0xx0 0000 RLF f,d Rotate Left through carry 1 00 1101 dfff ffff C RRF f,d Rotate right through carry 1 00 1100 dfff ffff C SUBWF f,d Subtract W from f 1 00 0010 dfff ffff C, DC, Z SWAPF f,d Swap nibbles in f 1 00 1110 dfff ffff XORWF f,d EXCLUSIVE or 1 00 0110 dfff ffff Z ***If ‘d’ is 0, the result is stored in the W register. If ‘d’ is 1, the result is stored back in register ‘f’.*** Bit-Oriented File Register Operations BCF f, b Bit Clear f 1 01 00bb bfff ffff BSF f, b Bit Set f 1 01 01bb bfff ffff BTFSC f, b Bit Test f, Skip if Clear 1(2) 01 10bb bfff ffff BTFSS f, b Bit Test f, Skip if Set 1(2) 01 11bb bfff ffff Literal and Control Operations ADDLW k Add literal and W 1 11 111x kkkk kkkk C, DC, Z ANDLW k AND literal with W 1 11 1001 kkkk kkkk Z CALL k Call subroutine 2 10 0kkk kkkk kkkk CLRWDT – Clear Watchdog Timer 1 00 0000 0110 0100 TO’, PD’ GOTO k Go to address 2 10 1kkk kkkk kkkk IORLW k Inclusive OR literal with W 1 11 1000 kkkk kkkk Z MOVLW k Move literal to W 1 11 00xx kkkk kkkk RETFIE – Return from interrupt 2 00 0000 0000 1001 RETLW k Return with literal in W 2 11 01xx kkkk kkkk RETURN Return from Subroutine 2 00 0000 0000 1000 SLEEP Go into standby mode 1 00 0000 0110 0011 TO’, PD’ SUBLW k Subtract W from literal 1 11 110x kkkk kkkk C, DC, Z XORLW k Exclusive OR literal with W 1 11 1010 kkkk kkkk Z Share on Facebook Share Send email Mail Print Print