Replacing left logical shifts with other instructions in MIPS
The hint is right, you can do this all by multiplying.  The trick is realizing you use the value in $S0 as a counter.  No bit manipulation required.  I'll give you some code in C and let you translate it to MIPS assembly:

for (; $s0 &gt; 0; $s0--)
{
    $s1 = $s1 + $s1;   // or $s1 = 2 * $s1
}