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 114 © 2005-2011 Microchip Technology Inc.
AND
AND Wb and Short Literal
Implemented in: PIC24F PIC24H PIC24E dsPIC30F dsPIC33F dsPIC33E
X X X X X X
Syntax: {label:} AND{.B} Wb, #lit5, Wd
[Wd]
[Wd++]
[Wd--]
[++Wd]
[--Wd]
Operands: Wb ∈ [W0 ... W15]
lit5 ∈ [0 ... 31]
Wd ∈ [W0 ... W15]
Operation: (Wb).AND.lit5 → Wd
Status Affected: N, Z
Encoding: 0110 0www wBqq qddd d11k kkkk
Description: Compute the logical AND operation of the contents of the base register
Wb and the 5-bit literal 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: 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.
Words: 1
Cycles: 1
Example 1:
AND.B W0,#0x3,[W1++] ; AND W0 and 0x3 (Byte mode)
; Store to [W1]
; Post-increment W1
Before
Instruction
After
Instruction
W0 23A5 W0 23A5
W1 2211 W1 2212
Data 2210 9999 Data 2210 0199
SR 0000 SR 0000
Example 2:
AND W0,#0x1F,W1 ; AND W0 and 0x1F (Word mode)
; Store to W1
Before
Instruction
After
Instruction
W0 6723 W0 6723
W1 7878 W1 0003
SR 0000 SR 0000
Protego_Release_01_05-Related-OEM-Documentation-PIC24FJ64GA004-Programmers_Reference_Manual.pdf