1

例如,当我执行 -1 % 3 时,我希望结果为 2。

当我执行以下 TASM 指令时,我得到了意想不到的结果:

mov ax, -1
xor bh, bh
mov bl,  3
idiv bl ; ah = FF (I expected 02), al = 00
4

1 回答 1

2

该网页指出:

余数的符号始终与被除数的符号相同。

维基百科有一些关于带有签名余数的陷阱的信息。

一种可能的解决方法是使用div而不是idiv,和/或手动跟踪标志。

于 2012-09-27T00:30:20.340 回答