2.5.3
Logic Operations
Table 2.6 describes the four instructions that perform logic operations. See figure 2.6 in section
2.5.4, Shift Operations, for their object codes.
Table 2.6 Logic Operation Instructions
Instruction
Size*
Function
AND
B
Rd Rs → Rd, Rd #imm → Rd
Performs a logical AND operation on a general register and another
general register or immediate data.
OR
B
B
B
Rd Rs → Rd, Rd #imm → Rd
Performs a logical OR operation on a general register and another
general register or immediate data.
XOR
NOT
Rd Rs → Rd, Rd #imm → Rd
Performs a logical exclusive OR operation on a general register and
another general register or immediate data.
¬ (Rd) → (Rd)
Obtains the one’s complement (logical complement) of general
register contents.
Note: * Size: Operand size
B: Byte
2.5.4
Shift Operations
Table 2.7 describes the eight shift instructions. Figure 2.6 shows the object code formats of the
arithmetic, logic, and shift instructions.
Table 2.7 Shift Instructions
Instruction
SHAL
Size*
Function
B
Rd shift → Rd
SHAR
Performs an arithmetic shift operation on general register contents.
Rd shift → Rd
SHLL
B
B
B
SHLR
Performs a logical shift operation on general register contents.
Rd rotate → Rd
ROTL
ROTR
Rotates general register contents.
Rd rotate through carry → Rd
ROTXL
ROTXR
Rotates general register contents through the C (carry) bit.
Note: * Size: Operand size
B: Byte
37