【发布时间】:2016-02-06 11:34:44
【问题描述】:
我假设要使用汇编语言 (ARM 6) 将整数(例如 42)减半,可以使用逻辑右移来产生 21,但有人可以解释如何将 21 减半得到 10.5?我不确定处理小数值的“幕后”发生了什么。
更新
我想真正的问题是:LSR 是用于除法还是仅用于右移位?如果是后者,那么逻辑移位的应用是什么?
【问题讨论】:
-
一旦使用浮点数,计算机就不再使用普通寄存器(
eax、ebx等)。相反,它使用浮点寄存器,因此搜索“浮点汇编”可能会对您有所帮助。 (我从来没有使用过浮点寄存器,所以很遗憾我不能轻易地把它变成一个答案,但祝你好运!) -
您可以切换到定点并在零指令中进行除法,但随后由进一步的代码来按预期解释该数字。
标签: assembly arm bit-manipulation operators bit-shift