POOL32A 000000 |
rt |
rs |
rd |
0 |
SRAV 0010010000 |
6 |
5 |
5 |
5 |
1 |
10 |
SRAV rd, rt, rs |
microMIPS |
Shift Word Right Arithmetic Variable |
Shift Word Right Arithmetic Variable
To execute an arithmetic right-shift of a word by a variable number of bits.
GPR[rd] = GPR[rt] >> GPR[rs] (arithmetic)
The contents of the low-order 32-bit word of GPR rt are shifted right, duplicating the sign-bit (bit 31) in the emptied bits; the word result is sign-extended and placed in GPR rd. The bit-shift amount is specified by the low-order 5 bits of GPR rs.
On 64-bit processors, if GPR rt does not contain a sign-extended 32-bit value (bits 63..31 equal), then the result of the operation is UNPREDICTABLE.
if NotWordValue(GPR[rt]) then UNPREDICTABLE endif s = GPR[rs]4..0 temp = (GPR[rt]31)s || GPR[rt]31..s GPR[rd] = sign_extend(temp)
None