# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# PIC24FJ64GA004 - Programmers Reference Manual

- 1
- 2
…
- 194
- 195
- 196
- 197
- 198
…
- 501
- 502

16-bit MCU and DSC Programmer’s Reference Manual
DS70157F-page 196 © 2005-2011 Microchip Technology Inc.
CP0
Compare f with 0x0, Set Status Flags
Implemented in: PIC24F PIC24H PIC24E dsPIC30F dsPIC33F dsPIC33E
X X X X X X
Syntax: {label:} CP0{.B} f
Operands: f ∈ [0 ... 8191]
Operation: (f) – 0x0
Status Affected: DC, N, OV, Z, C
Encoding: 1110 0010 0B0f ffff ffff ffff
Description: Compute (f) – 0x0 and update the STATUS register. The result of the
subtraction is not stored.
The ‘B’ bit selects byte or word operation (‘0’ for word, ‘1’ for byte).
The ‘f’ bits select the address of the file register.
Note: The extension .B in the instruction denotes a byte operation
rather than a word operation. You may use a .W extension to
denote a word operation, but it is not required.
Words: 1
Cycles:
1
(1)
Note 1:
In dsPIC33E and PIC24E devices, the listed cycle count does not apply to read and
read-modify-write operations on non-CPU Special Function Registers. For more
details, see
Note 3
in
Section 3.2.1 “Multi-Cycle Instructions”
.
Example 1:
CP0.B RAM100 ; Compare RAM100 with 0x0 (Byte mode)
Before
Instruction
After
Instruction
RAM100 44C3 RAM100 44C3
SR 0000 SR 0009 (N, C = 1)
Example 2:
CP0 0x1FFE ; Compare (0x1FFE) with 0x0 (Word mode)
Before
Instruction
After
Instruction
Data 1FFE 0001 Data 1FFE 0001
SR 0000 SR 0001 (C = 1)

- 1
- 2
…
- 194
- 195
- 196
- 197
- 198
…
- 501
- 502