我想将无符号整数除以3,在8086汇编或类似,任何方式更快,我不想使用DIV操作码. 基本答案是“乘以你想要的常数的倒数”,使用移位和加法来进行乘法运算,然后进行一些可能的后移位以正
诀窍是弄清楚倒数的精度必须是什么,以处理您期望的最大输入红利的大小.显然,您可以确定最大的输入操作数是整个寄存器,但是如果您了解更多,则可以使用具有较少位的倒数,这样可以获得更快的移位添加样式.
Cuoq的回答提供了很好的参考资料.
诀窍是弄清楚倒数的精度必须是什么,以处理您期望的最大输入红利的大小.显然,您可以确定最大的输入操作数是整个寄存器,但是如果您了解更多,则可以使用具有较少位的倒数,这样可以获得更快的移位添加样式.
Cuoq的回答提供了很好的参考资料.