# Vault 7: Projects

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

### Protego

# PIC24FJ64GA004 - Programmers Reference Manual

- 1
- 2
…
- 339
- 340
- 341
- 342
- 343
…
- 501
- 502

© 2005-2011 Microchip Technology Inc. DS70157F-page 341
Section 5. Instruction Descriptions
Instruction
Descriptions
5
PUSH
Push f to TOS
Implemented in: PIC24F PIC24H PIC24E dsPIC30F dsPIC33F dsPIC33E
X X X X X X
Syntax: {label:} PUSH f
Operands: f ∈ [0 ... 65534]
Operation: (f) → (TOS)
(W15) + 2 → W15
Status Affected: None
Encoding: 1111 1000 ffff ffff ffff fff0
Description: The contents of the specified file register are written to the Top-of-Stack
(TOS) location and then the Stack Pointer (W15) is incremented by 2.
The file register may reside anywhere in the lower 32K words of data
memory.
The ‘f’ bits select the address of the file register.
Note 1: This instruction operates in Word mode only.
2: The file register address must be word-aligned.
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:
PUSH 0x2004 ; Push (0x2004) to TOS
Before
Instruction
After
Instruction
W15 0B00 W15 0B02
Data 0B00 791C Data 0B00 D400
Data 2004 D400 Data 2004 D400
SR 0000 SR 0000
Example 2:
PUSH 0xC0E ; Push (0xC0E) to TOS
Before
Instruction
After
Instruction
W15 0920 W15 0922
Data 0920 0000 Data 0920 67AA
Data 0C0E 67AA Data 2004 67AA
SR 0000 SR 0000

- 1
- 2
…
- 339
- 340
- 341
- 342
- 343
…
- 501
- 502