作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为 ARM8 (aarch64) 编写一些汇编代码。我想做一个除法并使用获得的余数进行进一步计算。在 x86 中,当我使用
'div',我知道我的剩余部分保存在 RDX 中。我的问题是 - 是否有与 aarch64 指令集中的等价物?我知道 'udiv' 和 'sdiv' 做无符号和有符号的除法,并得到商数。是否有一条指令可以给我余数? (我想要 c 中的 % 模运算符)。我知道我可以使用代数获得它,只是想确认我没有错过更简单的方法。
最佳答案
除了可以优化到 and
的恒定二的幂除数之外,没有计算除法余数的指令。但是,您可以非常巧妙地将其分为两种:
// input: x0=dividend, x1=divisor
udiv x2, x0, x1
msub x3, x2, x1, x0
// result: x2=quotient, x3=remainder
关于assembly - 使用单个 aarch64 指令获取余数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35351470/
我是一名优秀的程序员,十分优秀!