APPENDIX A MIPS III INSTRUCTION SET DETAILS
Preliminary Users Manual S15543EJ1V0UM 547
SLL Shift Left Logical SLL
SPECIAL

0 0 0 0 0 0 rt rd sa SLL

0 0 0 0 0 0

31 26 25 21 20 16 15 11 10 6 5 0
6 5555 6

0

0 0 0 0 0
Format:
SLL rd, rt, sa
Description:
The contents of general register
rt
are shifted left by
sa
bits, inserting zeros into the low-order bits.
The result is placed in register
rd.
In 64-bit
mode, the 32-bit result is sign-extended when placed in the destination register. It is sign extended for all
shift amounts, including zero; SLL with zero shift amount truncates a 64-bit value to 32 bits and then sign extends
this 32-bit value. SLL, unlike nearly all other word operations, does not require an operand to be a properly sign-
extended word value to produce a valid sign-extended word result.
Operation:
32 T: GPR
[
rd
]
GPR
[
rt
]
31 - sa...0 || 0sa
64 T: s 0 || sa
temp GPR
[
rt
]
31 - s...0 || 0s
GPR
[
rd
]
(
temp31)32 || temp
Exceptions:
None
Caution SLL with a shift amount of zero may be treated as a NOP by some assemblers, at some
optimization levels. If using SLL with a purpose of sign-extension, check the assembler
specification.