Hardware manual
Rev. 3.0, 09/98, page 36 of 361
Table 2.8 Bit-Manipulation Instructions (cont)
Instruction Size
*
Function
BIXOR BC ⊕ ¬ [(<bit-No.> of <EAd>)] → C
XORs the C flag with the inverse of a specified bit in a general register or
memory.
The bit number is specified by 3-bit immediate data.
BLD B (<bit-No.> of <EAd>) → C
Copies a specified bit in a general register or memory to the C flag.
BILD ¬ (<bit-No.> of <EAd>) → C
Copies the inverse of a specified bit in a general register or memory to the
C flag.
The bit number is specified by 3-bit immediate data.
BST BC → (<bit-No.> of <EAd>)
Copies the C flag to a specified bit in a general register or memory.
BIST ¬ C → (<bit-No.> of <EAd>)
Copies the inverse of the C flag to a specified bit in a general register or
memory.
The bit number is specified by 3-bit immediate data.
Note: Size: operand size
B: Byte
Notes on Bit Manipulation Instructions: BSET, BCLR, BNOT, BST, and BIST are read-
modify-write instructions. They read a byte of data, modify one bit in the byte, then write the byte
back. Care is required when these instructions are applied to registers with write-only bits and to
the I/O port registers.
Step Description
1 Read Read one data byte at the specified address
2 Modify Modify one bit in the data byte
3 Write Write the modified data byte back to the specified address
Example 1: BCLR is executed to clear bit 0 in the port 4 data direction register (P4DDR) under
the following conditions.
P4
7
: Input pin, Low
P4
6
: Input pin, High
P4
5
− P4
0
: Output pins, Low
The intended purpose of this BCLR instruction is to switch P4
0
from output to input.