# Vault 7: Projects

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

### Protego

# PIC24FJ64GA004 - Programmers Reference Manual

- 1
- 2
…
- 415
- 416
- 417
- 418
- 419
…
- 501
- 502

© 2005-2011 Microchip Technology Inc. DS70157F-page 417
Section 5. Instruction Descriptions
Instruction
Descriptions
5
SUBBR
Subtract f from WREG with Borrow
Implemented in: PIC24F PIC24H PIC24E dsPIC30F dsPIC33F dsPIC33E
X X X X X X
Syntax: {label:} SUBBR{.B} f {,WREG}
Operands: f ∈ [0 ... 8191]
Operation: (WREG) – (f) – (C
) → destination designated by D
Status Affected: DC, N, OV, Z, C
Encoding: 1011 1101 1BDf ffff ffff ffff
Description: Subtract the contents of the specified file register f and the Borrow flag
(Carry flag inverse, C
) from the contents of WREG, and place the result
in the destination register. The optional WREG operand determines the
destination register. If WREG is specified, the result is stored in WREG.
If WREG is not specified, the result is stored in the file register.
The ‘B’ bit selects byte or word operation (‘0’ for word, ‘1’ for byte).
The ‘D’ bit selects the destination (‘0’ for WREG, ‘1’ for file register).
The ‘f’ bits select the address of the file register.
Note 1: 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.
2: The WREG is set to working register W0.
3: The Z flag is “sticky” for ADDC, CPB, SUBB and SUBBR.
These instructions can only clear Z.
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:
SUBBR.B 0x803 ; Sub. (0x803) and C from WREG (Byte mode)
; Store result to 0x803
Before
Instruction
After
Instruction
WREG (W0) 7804 WREG (W0) 7804
Data 0802 9439 Data 0802 6F39
SR 0002 (Z = 1) SR 0000
Example 2:
SUBBR 0xA04, WREG ; Sub. (0xA04) and C from WREG (Word mode)
; Store result to WREG
Before
Instruction
After
Instruction
WREG (W0) 6234 WREG (W0) FFFE
Data 0A04 6235 Data 0A04 6235
SR 0000 SR 0008 (N = 1)

- 1
- 2
…
- 415
- 416
- 417
- 418
- 419
…
- 501
- 502