gpt4 book ai didi

assembly - 使用单个 aarch64 指令获取余数?

转载 作者:行者123 更新时间:2023-12-03 19:08:54 25 4
gpt4 key购买 nike

我正在为 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com