HomeArticlesProjectsBlogContact
Articles
PIC Instructions Page 2
Colin Mitchell
Colin Mitchell
Make sure to subscribe to our newsletter and be the first to know the news.

This discussion explains the instructions for the PIC12F629 and PIC16F628.

addlw number

  • adds a number (called a literal - 00 to FF) to the number in the working register.

addwf FileReg, f

  • adds the number in the working register to the number in a file (FileReg) and puts the result in the file.

addwf FileReg, w

  • adds the number in the working register to the number in a file (FileReg) and puts the result back into the working register, leaving the file register unchanged.

andlw number

  • ANDs a number to the number in the working register, leaving the result in the working reg.

andwf FileReg, f

  • ANDs the number in the working register to the number in a file (FileReg) and puts the result in the file register

bcf FileReg, bit

  • clears a bit in a file (FileReg), i.e. makes the bit 0

bsf FileReg, bit

  • sets a bit in a file (FileReg), i.e. makes the bit 1

btfsc FileReg, bit

  • tests a bit in a file (FileReg) and skips the next instruction if the result is clear (i.e. if that bit is 0).

btfss FileReg, bit

  • tests a bit in a file (FileReg) and skips the next instruction if the result is set (i.e. if that bit is 1).

call label

  • makes the chip call any label, after which it will return to where it left off if the sub-routine contains retlw 00.

clrf File

  • clears (makes 0) the number in a file (FileReg).

clrw

  • clears the working register.

clrwdt

  • clears the watchdog timer.

comf FileReg, f

  • complements (inverts - ones become zeroes, zeroes become ones) the number in a file (FileReg), leaving the result in the file register.

decf FileReg, f

  • decrements (subtracts one from) a file (FileReg) and puts the result in the file register.

decfsz FileReg, f

  • decrements a file (FileReg) and if the result is zero it skips the next instruction. The result is put in the file.

goto Label

  • makes the chip go to a label in the program.

incf FileReg, f

  • increments (adds one to) a file (FileReg) and puts the result in the file.

incfsz FileReg, f

  • increments a file(FileReg) and if the result is zero it skips the next instruction. The result is put in the file.

iorlw number

  • inclusive ORs a number with the number in the working register.

iorwf FileReg, f

  • inclusive ORs the number in the working register with the number in a file(FileReg) and puts the result in the file.

movfw FileReg or movf FileReg, w

  • moves (copies) the number in a file(FileReg) in the working register

movlw number

  • puts a number into the working register.

movwf FileReg

  • moves (copies) the number in the working register into a file (FileReg).

nop

  • this stands for : no operation, in other words - do nothing, (it is used to create a delay)

option_reg

  • takes the number in the working register and moves it into the option register.

retfie

  • (NOT FOR PIC16C5X SERIES) - returns from a subroutine and enables the Global Interrupt Enable bit.

retlw number

  • returns from a subroutine with a number (literal) (from 00 to FF) in the working register.

rlf FileReg, f

  • rotates the bits in a file (FileReg) to the left, putting the result in the file.

rrf FileReg, f

  • rotates the bits in a file(FileReg) to the right, putting the result in the file.

sleep

  • sends the PIC to sleep, a lower power consumption mode.

sublw number

  • subtracts the number in the working register from a literal. To subtract 1 from W, use: addlw 255

subwf FileReg, f

  • subtracts the number in the working register from the number in a file (FileReg) and puts the result in the file.

swapf FileReg, f

  • swaps the two halves of the 8 bit binary number in a file (FileReg), leaving the result in the file.

movwf tris PORTA or movwf trisPORTB or movwf trisio for PIC12F629

  • moves the value in w to the tris file.

xorlw number

  • exclusive ORs a literal with the number in the working register.

xorwf FileReg, f

  • exclusive ORs the number in the working register with the number in a file (FileReg) and puts the result in the file.


Colin Mitchell

Colin Mitchell

Expertise

electronics
writing
PIC-Chips

Social Media

instagramtwitterwebsite

Related Posts

TODO
Transistor Test
© 2021, All Rights Reserved.

Quick Links

Advertise with usAbout UsContact Us

Social Media