PIC16F62X
The instruction set is highly orthogonal and is grouped
into three basic categories:
15.0 INSTRUCTION SET SUMMARY
Each PIC16F62X instruction is a 14-bit word divided
into an OPCODE which specifies the instruction type
and one or more operands which further specify the
operation of the instruction. The PIC16F62X instruc-
tion set summary in Table 15-2 lists byte-oriented,
bit-oriented, and literal and control operations.
Table 15-1 shows the opcode field descriptions.
• Byte-oriented operations
• Bit-oriented operations
• Literal and control operations
All instructions are executed within one single
instruction cycle, unless a conditional test is true or the
program counter is changed as a result of an
instruction. In this case, the execution takes two
instruction cycles with the second cycle executed as a
NOP. One instruction cycle consists of four oscillator
periods. Thus, for an oscillator frequency of 4 MHz, the
For byte-oriented instructions, ’f’ represents a file
register designator and ’d’ represents a destination
designator. The file register designator specifies which
file register is to be used by the instruction.
normal instruction execution time is 1 µs. If
a
The destination designator specifies where the result of
the operation is to be placed. If ’d’ is zero, the result is
placed in the W register. If ’d’ is one, the result is placed
in the file register specified in the instruction.
conditional test is true or the program counter is
changed as a result of an instruction, the instruction
execution time is 2 µs.
Table 15-1 lists the instructions recognized by the
MPASM assembler.
For bit-oriented instructions, ’b’ represents a bit field
designator which selects the number of the bit affected
by the operation, while ’f’ represents the number of the
file in which the bit is located.
Figure 15-1 shows the three general formats that the
instructions can have.
For literal and control operations, ’k’ represents an
eight or eleven bit constant or literal value.
Note: To maintain upward compatibility with
future PICmicro® products, do not use the
OPTIONand TRISinstructions.
TABLE 15-1: OPCODE FIELD
DESCRIPTIONS
All examples use the following format to represent a
hexadecimal number:
Field
Description
0xhh
f
W
b
k
x
Register file address (0x00 to 0x7F)
Working register (accumulator)
where h signifies a hexadecimal digit.
FIGURE 15-1: GENERAL FORMAT FOR
INSTRUCTIONS
Bit address within an 8-bit file register
Literal field, constant data or label
Don’t care location (= 0 or 1)
Byte-oriented file register operations
The assembler will generate code with x = 0. It is the
recommended form of use for compatibility with all
Microchip software tools.
13
8
7
6
0
OPCODE
d
f (FILE #)
d
Destination select; d = 0: store result in W,
d = 1: store result in file register f.
Default is d = 1
d = 0 for destination W
d = 1 for destination f
f = 7-bit file register address
label Label name
TOS Top of Stack
PC Program Counter
Bit-oriented file register operations
13 10 9
b (BIT #)
7
6
0
OPCODE
f (FILE #)
PCLATH
Program Counter High Latch
GIE Global Interrupt Enable bit
WDT Watchdog Timer/Counter
TO Time-out bit
b = 3-bit bit address
f = 7-bit file register address
PD Power-down bit
Literal and control operations
dest Destination either the W register or the specified
register file location
General
[ ] Options
13
8
7
0
0
Contents
( )
→
OPCODE
k (literal)
Assigned to
k = 8-bit immediate value
Register bit field
In the set of
< >
CALLand GOTOinstructions only
13 11 10
OPCODE
k = 11-bit immediate value
User defined term (font is courier)
italics
k (literal)
1999 Microchip Technology Inc.
Preliminary
DS40300B-page 113