Vault 7: Projects
This publication series is about specific projects related to the Vault 7 main publication.
© 2005-2011 Microchip Technology Inc. DS70157F-page 413
Section 5. Instruction Descriptions
Instruction
Descriptions
5
SUBB
Subtract Short Literal from Wb with Borrow
Implemented in: PIC24F PIC24H PIC24E dsPIC30F dsPIC33F dsPIC33E
X X X X X X
Syntax: {label:} SUBB{.B} Wb, #lit5, Wd
[Wd]
[Wd++]
[Wd--]
[++Wd]
[--Wd]
Operands: Wb ∈ [W0 ... W15]
lit5 ∈ [0 ... 31]
Wd ∈ [W0 ... W15]
Operation: (Wb) – lit5 – (C
) →Wd
Status Affected: DC, N, OV, Z, C
Encoding: 0101 1www wBqq qddd d11k kkkk
Description: Subtract the 5-bit unsigned literal operand and the Borrow flag (Carry
flag inverse, C
) from the contents of the base register Wb and place the
result in the destination register Wd. Register direct addressing must be
used for Wb. Either register direct or indirect addressing may be used for
Wd.
The ‘w’ bits select the address of the base register.
The ‘B’ bit selects byte or word operation (‘0’ for word, ‘1’ for byte).
The ‘q’ bits select the destination Address mode.
The ‘d’ bits select the destination register.
The ‘k’ bits provide the literal operand, a five-bit integer number.
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 Z flag is “sticky” for ADDC, CPB, SUBB and SUBBR.
These instructions can only clear Z.
Words: 1
Cycles: 1
Example 1:
SUBB.B W4, #0x10, W5 ; Sub. 0x10 and C from W4 (Byte mode)
; Store result to W5
Before
Instruction
After
Instruction
W4 1782 W4 1782
W5 7804 W5 7871
SR 0000 SR 0005 (OV, C = 1)
Protego_Release_01_05-Related-OEM-Documentation-PIC24FJ64GA004-Programmers_Reference_Manual.pdf