Table 7.6 Shift Instructions
Instruction
ROTL
Operation
Instruction Code
Privileged T Bit
Rn
T ← Rn ← MSB
LSB → Rn → T
T ← Rn ← T
0100nnnn00000100
0100nnnn00000101
0100nnnn00100100
0100nnnn00100101
—
—
—
—
—
MSB
LSB
MSB
LSB
—
ROTR
Rn
ROTCL
ROTCR
SHAD
Rn
Rn
T → Rn → T
Rm,Rn
When Rn ≥ 0, Rn << Rm → Rn 0100nnnnmmmm1100
When Rn < 0, Rn >> Rm →
[MSB → Rn]
SHAL
SHAR
SHLD
Rn
T ← Rn ← 0
0100nnnn00100000
0100nnnn00100001
—
—
—
MSB
LSB
—
Rn
MSB → Rn → T
Rm,Rn
When Rn ≥ 0, Rn << Rm → Rn 0100nnnnmmmm1101
When Rn < 0, Rn >> Rm →
[0 → Rn]
SHLL
Rn
Rn
Rn
Rn
Rn
Rn
Rn
Rn
T ← Rn ← 0
0100nnnn00000000
0100nnnn00000001
0100nnnn00001000
0100nnnn00001001
0100nnnn00011000
0100nnnn00011001
0100nnnn00101000
0100nnnn00101001
—
—
—
—
—
—
—
—
MSB
LSB
—
SHLR
0 → Rn → T
SHLL2
SHLR2
SHLL8
SHLR8
SHLL16
SHLR16
Rn << 2 → Rn
Rn >> 2 → Rn
Rn << 8 → Rn
Rn >> 8 → Rn
Rn << 16 → Rn
Rn >> 16 → Rn
—
—
—
—
—
Rev. 6.0, 07/02, page 185 of 986