0

I have been trying to shift my number with the formula m*2^-n by using Logical Shift Right (LSR). for m = 8 and n=-2 I should be getting 8(2)^-2 ie; 2, but I get 0 for some unknown reason.

Peter Cordes
  • 328,167
  • 45
  • 605
  • 847

1 Answers1

3

You need to first negate R1 before you can do ASR. Shift values are unsigned, a negative shift value is interpreted as a very large positive shift, leading to a result of zero.

fuz
  • 88,405
  • 25
  • 200
  • 352