
PIC17C4X
DS30412C-page 108
1996 Microchip Technology Inc.
Table 15-2 lists the instructions recognized by the
MPASM assembler.
All instruction examples use the following format to rep-
resent a hexadecimal number:
0xhh
where h signies a hexadecimal digit.
To represent a binary number:
0000 0100b
where b signies a binary string.
FIGURE 15-1: GENERAL FORMAT FOR
INSTRUCTIONS
Note 1: Any unused opcode is Reserved. Use of
any reserved opcode may cause unex-
pected operation.
Note 2: The shaded instructions are not available
in the PIC17C42
Byte-oriented le register operations
15
9
8
7
0
d = 0 for destination WREG
OPCODE
d
f (FILE #)
d = 1 for destination f
f = 8-bit le register address
Bit-oriented le register operations
15
11 10
8 7
0
OPCODE
b (BIT #)
f (FILE #)
b = 3-bit address
f = 8-bit le register address
Literal and control operations
15
8
7
0
OPCODE
k (literal)
k = 8-bit immediate value
Byte to Byte move operations
15
13 12
8 7
0
OPCODE
p (FILE #)
f (FILE #)
Call and GOTO operations
15
13 12
0
OPCODE
k (literal)
k = 13-bit immediate value
p = peripheral register le address
f = 8-bit le register address
15.1
Special Function Registers as
Source/Destination
The PIC17C4X’s orthogonal instruction set allows read
and write of all le registers, including special function
registers. There are some special situations the user
should be aware of:
15.1.1
ALUSTA AS DESTINATION
If an instruction writes to ALUSTA, the Z, C, DC and OV
bits may be set or cleared as a result of the instruction
and overwrite the original data bits written. For exam-
ple, executing CLRF
ALUSTA
will clear register
ALUSTA, and then set the Z bit leaving 0000 0100b in
the register.
15.1.2
PCL AS SOURCE OR DESTINATION
Read, write or read-modify-write on PCL may have the
following results:
Read PC:
PCH
→ PCLATH; PCL → dest
Write PCL:
PCLATH
→ PCH;
8-bit destination value
→ PCL
Read-Modify-Write:
PCL
→ ALU operand
PCLATH
→ PCH;
8-bit result
→ PCL
Where PCH = program counter high byte (not an
addressable register), PCLATH = Program counter
high holding latch, dest = destination, WREG or f.
15.1.3
BIT MANIPULATION
All bit manipulation instructions are done by rst read-
ing the entire register, operating on the selected bit and
writing the result back (read-modify-write). The user
should keep this in mind when operating on special
function registers, such as ports.