Download UltraSPARC IIIi Processor User's Manual

Transcript
Assembly Language Syntax
sll
regrs1, reg_or_shcnt, regrd
srl
regrs1, reg_or_shcnt, regrd
sra
regrs1, reg_or_shcnt, regrd
sllx
regrs1, reg_or_shcnt, regrd
srlx
regrs1, reg_or_shcnt, regrd
srax
regrs1, reg_or_shcnt, regrd
Description
When i = 0 and x = 0, the shift count is the least significant five bits of r[rs2]. When
i = 0 and x = 1, the shift count is the least significant six bits of r[rs2]. When i = 1 and
x = 0, the shift count is the immediate value specified in bits 0 through 4 of the instruction.
When i = 1 and x = 1, the shift count is the immediate value specified in bits 0 through 5 of
the instruction.
TABLE A-15 shows the shift count encodings for all values of i and x.
TABLE A-15
Shift Count Encodings
i
x
Shift Count
0
0
bits 4– 0 of r[rs2]
0
1
bits 5– 0 of r[rs2]
1
0
bits 4– 0 of instruction
1
1
bits 5– 0 of instruction
SLL and SLLX shift all 64 bits of the value in r[rs1] left by the number of bits specified
by the shift count, replacing the vacated positions with zeroes, and write the shifted result to
r[rd].
SRL shifts the low 32 bits of the value in r[rs1] right by the number of bits specified by
the shift count. Zeroes are shifted into bit 31. The upper 32 bits are set to zero, and the result
is written to r[rd].
SRLX shifts all 64 bits of the value in r[rs1] right by the number of bits specified by the
shift count. Zeroes are shifted into the vacated high-order bit positions, and the shifted result
is written to r[rd].
SRA shifts the low 32 bits of the value in r[rs1] right by the number of bits specified by
the shift count and replaces the vacated positions with bit 31 of r[rs1]. The high-order
32 bits of the result are all set with bit 31 of r[rs1], and the result is written to r[rd].
Chapter A
Instruction Definitions
A-399