45
2.5.5
Bit Manipulations
Table 2.8 describes the bit-manipulation instructions. Figure 2.7 shows their object code formats.
Table 2.8
Bit-Manipulation Instructions
Instruction
Size
*
Function
BSET
B
1
→
(<bit no.> of <EAd>)
Sets a specified bit in a general register or memory to 1. The bit is
specified by a bit number, given in 3-bit immediate data or the lower
three bits of a general register.
BCLR
B
0
→
(<bit no.> of <EAd>)
Clears a specified bit in a general register or memory to 0. The bit is
specified by a bit number, given in 3-bit immediate data or the lower
three bits of a general register.
BNOT
B
(<bit no.> of <EAd>)
→
(<bit no.> of <EAd>)
Inverts a specified bit in a general register or memory. The bit is
specified by a bit number, given in 3-bit immediate data or the lower
three bits of a general register.
BTST
B
(<bit no.> of <EAd>)
→
Z
Tests a specified bit in a general register or memory and sets or
clears the Z flag accordingly. The bit is specified by a bit number,
given in 3-bit immediate data or the lower three bits of a general
register.
BAND
B
C
∧
(<bit no.> of <EAd>)
→
C
ANDs the C flag with a specified bit in a general register or memory.
C
∧
[ (<bit no.> of <EAd>)]
→
C
ANDs 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.
BIAND
BOR
B
C
∨
(<bit no.> of <EAd>)
→
C
ORs the C flag with a specified bit in a general register or memory.
C
∨
[ (<bit no.> of <EAd>)]
→
C
ORs 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.
BIOR
BXOR
B
C
⊕
(<bit no.> of <EAd>)
→
C
XORs the C flag with a specified bit in a general register or memory.
Note:
*
Size: Operand size
B: Byte