29 Instruction Set Summary
PIC16F152 devices incorporate
the standard set of 50 PIC16 core instructions. Each
instruction is a 14-bit word containing the operation code (opcode) and all required
operands. The opcodes are broken into three broad categories:
- Byte Oriented
- Bit Oriented
- Literal and Control
The literal and control category contains the most varied instruction word format.
Table 29-3 lists the instructions recognized by the XC8 assembler.
All instructions are executed within a single instruction cycle, with the following
exceptions, which may take two or three cycles:
- Subroutine entry takes two cycles (
CALL
,CALLW
) - Returns from interrupts or subroutines take two cycles (
RETURN
,RETLW
,RETFIE
) - Program branching takes two cycles (
GOTO
,BRA
,BRW
,BTFSS
,BTFSC
,DECFSZ
,INCSFZ
) - One additional instruction cycle will be used when any instruction references an indirect file register and the file select register is pointing to program memory.
One instruction cycle consists of 4 oscillator cycles; for an oscillator frequency of 4 MHz, this gives a nominal instruction execution rate of 1 MHz.
All instruction examples use the format ‘0xhh
’ to represent a hexadecimal
number, where ‘h
’ signifies a hexadecimal digit.