ARM7 程序集移动带符号整数的数字

ARM7 assembly shifting a number with a signed integer

我一直在尝试使用逻辑右移 (LSR) 用公式 m*2^-n 移动我的数字。对于 m = 8 和 n=-2 我应该得到 8(2)^-2 即; 2,但由于某些未知原因我得到 0。

你需要先否定R1才能做ASR。移位值是无符号的,负移位值被解释为非常大的正移位,导致结果为零。