BNOT

Inverting a bit

BNOT

Bit NOT


[Syntax]

BNOT src, dest

 

[Operation]

(1)When dest is a memory location:

unsigned char dest;

dest ^= ( 1 << ( src & 7 ));

 

(2)When dest is a register:

register unsigned long dest;

dest ^= ( 1 << ( src & 31 ));

 

[Function]

-

This instruction inverts the value of the bit of dest, which is specified by src, and places the result into the specified bit.

-

The immediate value given as src is the number (position) of the bit.
The range for IMM:3 operands is 0 ≤ IMM:3 ≤ 7. The range for IMM:5 is 0 ≤ IMM:5 ≤ 31.

 

[Instruction Format]

Syntax

Processng Size

src

dest

Code size

(Byte)

(1)BNOT src, dest

B

#IMM:3

[Rd].B

3

B

#IMM:3

dsp:8[Rd].B

4

B

#IMM:3

dsp:16[Rd].B

5

B

Rs

[Rd].B

3

B

Rs

dsp:8[Rd].B

4

B

Rs

dsp:16[Rd].B

5

(2)BNOT src, dest

L

#IMM:5

Rd

3

L

Rs

Rd

3

B

Rs

dsp:16[Rd].B

5

 

[Flag Change]

This instruction does not affect the states of flags.

[Description Example]

BNOT #7, [R2]

BNOT R1, [R2]

BNOT #31, R2

BNOT R1, R2