Encoding:

SPECIAL

000000

0

00000

rt

rd

sa

SRA

000011

6

5

5

5

5

6

Format:

SRA rd, rt, sa

MIPS32

Shift Word Right Arithmetic

Purpose:

Shift Word Right Arithmetic

To execute an arithmetic right-shift of a word by a fixed number of bits.

Description:

 GPR[rd] = GPR[rt] >> sa   (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 sa.

Restrictions:

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.

Operation:

if NotWordValue(GPR[rt]) then 
   UNPREDICTABLE 
endif
s = sa
temp = GPR[rt]31)s || GPR[rt]31..s
GPR[rd] = sign_extend(temp)

Exceptions:

None