我想知道是否有命令/方法可以在 Motorola 68000 组件中执行取模操作?
我想执行 d4 mod 1000 和 d3 mod 100。
当前我正在使用以下公式,但这需要几行,
if a mod n then a - (n * int(a/n))
我见过这个 d0 mod d1 的公式
CLR.L D2
MOVE.W D0,D2
DIVU D1,D2
SWAP D2
感谢您的回答。
最佳答案
DIVU
指令正是您所寻找的。当您执行DIVU
时,目标的长字将除以源的字。就您而言,您写道:
DIVU D1, D2
因此,D2 除以 D1。在商中,返回两部分。 D2 的高位字将包含余数(模),而低位字则包含商。这就是为什么您通常会看到 SWAP d2
。这会将余数移至低位字。
关于assembly - 68K 汇编中的模数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46738682/