# Vault 7: Projects

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

### Protego

# PIC24FJ64GA004 - Programmers Reference Manual

- 1
- 2
…
- 371
- 372
- 373
- 374
- 375
…
- 501
- 502

© 2005-2011 Microchip Technology Inc. DS70157F-page 373
Section 5. Instruction Descriptions
Instruction
Descriptions
5
RLC
Rotate Left f through Carry
Implemented in: PIC24F PIC24H PIC24E dsPIC30F dsPIC33F dsPIC33E
X X X X X X
Syntax: {label:} RLC{.B} f {,WREG}
Operands: f ∈ [0 ... 8191]
Operation: For byte operation:
(C) → Dest<0>
(f<6:0>) → Dest<7:1>
(f<7>) → C
For word operation:
(C) → Dest<0>
(f<14:0>) → Dest<15:1>
(f<15>) → C
Status Affected: N, Z, C
Encoding: 1101 0110 1BDf ffff ffff ffff
Description: Rotate the contents of the file register f one bit to the left through the
Carry flag and place the result in the destination register. The Carry flag
of the STATUS Register is shifted into the Least Significant bit of the
destination, and it is then overwritten with the Most Significant bit of Ws.
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 f, ‘1’ for WREG).
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.
Words: 1
Cycles: 1
C
Example 1:
RLC.B 0x1233 ; Rotate Left w/ C (0x1233) (Byte mode)
Before
Instruction
After
Instruction
Data 1232 E807 Data 1232 D007
SR 0000 SR 0009 (N, C = 1)

- 1
- 2
…
- 371
- 372
- 373
- 374
- 375
…
- 501
- 502