Vault 7: Projects
This publication series is about specific projects related to the Vault 7 main publication.
16-bit MCU and DSC Programmer’s Reference Manual
DS70157F-page 338 © 2005-2011 Microchip Technology Inc.
Example 2:
POP 0x880 ; Pop TOS to 0x880
Before
Instruction
After
Instruction
W15 2000 W15 1FFE
Data 0880 E3E1 Data 0880 A090
Data 1FFE A090 Data 1FFE A090
SR 0000 SR 0000
POP
Pop TOS to Wd
Implemented in: PIC24F PIC24H PIC24E dsPIC30F dsPIC33F dsPIC33E
X X X X X X
Syntax: {label:} POP Wd
[Wd]
[Wd++]
[Wd--]
[--Wd]
[++Wd]
[Wd+Wb]
Operands: Wd ∈ [W0 ... W15]
Wb ∈ [W0 ... W15]
Operation: (W15) – 2 → W15
(TOS) → Wd
Status Affected: None
Encoding: 0111 1www w0hh hddd d100 1111
Description: The Stack Pointer (W15) is pre-decremented by 2 and the Top-of-Stack
(TOS) word is written to Wd. Either register direct or indirect addressing
may be used for Wd.
The ‘w’ bits define the offset register Wb.
The ‘h’ bits select the destination Address mode.
The ‘d’ bits select the destination register.
Note 1: This instruction operates in Word mode only.
2: This instruction is a specific version of the “MOV Ws, Wd”
instruction (MOV [--W15], Wd). It reverse assembles as
MOV.
Words: 1
Cycles: 1
Example 1:
POP W4 ; Pop TOS to W4
Before
Instruction
After
Instruction
W4 EDA8 W4 C45A
W15 1008 W15 1006
Data 1006 C45A Data 1006 C45A
SR 0000 SR 0000
Protego_Release_01_05-Related-OEM-Documentation-PIC24FJ64GA004-Programmers_Reference_Manual.pdf