Bit shift operations: arithmetic
000000 00000 01001  01010  00011 000011 R-type
b31-26 b25-21 b20-16 b15-11 b10-6 b5-0
opcode    $rs      $rt    $rd  shamt function
arithmetic shift: sign bit shifted in # bits
   sra $rd, $rt, shift_amt # R[d] <-- R[t] >> shift_amt const
   srav $rd, $rt, $rs # R[d] <-- R[t] >> R[s] var
0
0110 0000 0000 0000 0000 0000 0000
0101
0011 0000 0000 0000 0000 0000 0000 0010
1
1110 0000 0000 0000 0000 0000 0000
0101
1111 0000 0000 0000 0000 0000 0000 0010
bits of $rt are shifted to the right by the number of bits given in shift_amt
or by value in register $rs
sign bit (arithmetic) is shifted into most significant bit
if shift_amt,  $rs is unused
why isn't there a sla or slav?