Description:

Performs the logical AND between the contents of register Rd and a constant and places the result in the destination register Rd.

Operation:

(i)Rd ← Rd • K

Syntax: Operands: Program Counter:

(i)ANDI Rd,K 16 ≤ d ≤ 31, 0 ≤ K ≤ 255 PC ← PC + 1

16-bit Opcode:

0111

KKKK

dddd

KKKK

Status Register (SREG) and Boolean Formulae:

I

T

H

S

V

N

Z

C

-

-

-

0

-

S: N ⊕ V, For signed tests.

V:0 Cleared

N:R7 Set if MSB of the result is set; cleared otherwise.

Z:

Set if the result is $00; cleared otherwise.

R (Result) equals Rd after the operation.

Example:

  andi r17,$0F ; Clear upper nibble of r17
  andi r18,$10 ; Isolate bit 4 in r18
  andi r19,$AA ; Clear odd bits of r19
  

Words: 1 (2 bytes)

Cycles: 1