Table 1-3 Instructions Classified by Function (cont)
Type
Instruction
Size
*
Function
Shift operations
B/W/L
Rd (shift)
→
Rd
Performs an arithmetic shift on general register
contents.
B/W/L
Rd (shift)
→
Rd
Performs a logical shift on general register contents.
B/W/L
Rd (rotate)
→
Rd
Rotates general register contents.
B/W/L
Rd (rotate)
→
Rd
Rotates general register contents through the carry bit.
BSET
B
1
→
(<bit-No.> of <EAd>)
Sets a specified bit in a general register or memory
operand to 1. The bit number is specified by 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
operand to 0. The bit number is specified by 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
operand. The bit number is specified by 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
operand and sets or clears the Z flag accordingly. The
bit number is specified by 3-bit immediate data or the
lower three bits of a general register.
BAND
B
C
∧
(<bit-No.> of <EAd>)
→
C
ANDs the carry flag with a specified bit in a general
register or memory operand and stores the result in the
carry flag.
BIAND
B
C
∧
¬ (<bit-No.> of <EAd>)
→
C
ANDs the carry flag with the inverse of a specified bit in
a general register or memory operand and stores the
result in the carry flag.
The bit number is specified by 3-bit immediate data.
Note:
*
Size refers to the operand size.
B: Byte
W: Word
L: Longword
Bit-manipulation
instructions
SHAL
SHAR
SHLL
SHLR
ROTL
ROTR
ROTXL
ROTXR
22