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 276 © 2005-2011 Microchip Technology Inc.
Example 1:
MAC W4*W5, A, [W8]+=6, W4, [W10]+=2, W5
; Multiply W4*W5 and add to ACCA
; Fetch [W8] to W4, Post-increment W8 by 6
; Fetch [W10] to W5, Post-increment W10 by 2
; CORCON = 0x00C0 (fractional multiply, normal saturation)
Before
Instruction
After
Instruction
W4 A022 W4 2567
W5 B900 W5 909C
W8 0A00 W8 0A06
W10 1800 W10 1802
ACCA 00 1200 0000 ACCA 00 472D 2400
Data 0A00 2567 Data 0A00 2567
Data 1800 909C Data 1800 909C
CORCON 00C0 CORCON 00C0
SR 0000 SR 0000
Example 2:
MAC W4*W5, A, [W8]-=2, W4, [W10]+=2, W5, W13
; Multiply W4*W5 and add to ACCA
; Fetch [W8] to W4, Post-decrement W8 by 2
; Fetch [W10] to W5, Post-increment W10 by 2
; Write Back ACCB to W13
; CORCON = 0x00D0 (fractional multiply, super saturation)
Before
Instruction
After
Instruction
W4 1000 W4 5BBE
W5 3000 W5 C967
W8 0A00 W8 09FE
W10 1800 W10 1802
W13 2000 W13 0001
ACCA 23 5000 2000 ACCA 23 5600 2000
ACCB 00 0000 8F4C ACCB 00 0000 1F4C
Data 0A00 5BBE Data 0A00 5BBE
Data 1800 C967 Data 1800 C967
CORCON 00D0 CORCON 00D0
SR 0000 SR 8800 (OA, OAB = 1)
Protego_Release_01_05-Related-OEM-Documentation-PIC24FJ64GA004-Programmers_Reference_Manual.pdf