14 lines
282 B
Plaintext
14 lines
282 B
Plaintext
0100nnnnmmmm1100
|
|
op1 ← SignExtend32(Rm);
|
|
op2 ← SignExtend32(Rn);
|
|
shift_amount ← ZeroExtend5(op1);
|
|
IF (op1 ≥ 0)
|
|
op2 ← op2 << shift_amount;
|
|
ELSE IF (shift_amount ≠ 0)
|
|
op2 ← op2 >> (32 - shift_amount);
|
|
ELSE IF (op2 < 0)
|
|
op2 ← - 1;
|
|
ELSE
|
|
op2 ← 0;
|
|
Rn ← Register(op2);
|