Addressing memory includes receiving a first operand to a memory
addressing operator, receiving a second operand to the memory addressing
operator, performing sign extension on the first operand to provide a
sign-extended operand, shifting the sign-extended operand to provide a
shifted, sign-extended operand, and adding the shifted, sign-extended
operand to the second operand. The second operand has a different bit
length than the first operand.