TASM:负数的模数

时间:2012-09-26 23:33:26

标签: assembly modulo tasm

当我这样做时,例如-1%3,我希望结果是2。

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

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

1 个答案:

答案 0 :(得分:2)

This web page声明:

  

余数的符号总是与符号相同   分红

Wikipedia提供了一些有关已签名余数的陷阱信息。

可能的解决方法可能是使用div代替idiv,和/或手动跟踪标记。