2

可能重复:
ASM x86 整数溢出

我得到一个除法错误-溢出,不知道为什么。这是重现错误的完整代码

include emu8086.inc

org 100h

       mov ax, 2 
       mov bx, 10
       div bx

       mov ax, 2
       mov bx, 2
       div bx   
       ret
4

1 回答 1

10

尝试xor dx, dx在每个之前添加div,看看是否没有帮助。

由于您指定的是 16 位目标,因此div除以dx:ax该目标。如果dx一开始包含一个很大的数字(更准确地说,不是很小的数字),结果将溢出。即使它没有溢出,您的结果也不会像您显然想要的那样ax/ 。bx

于 2012-12-18T21:21:45.450 回答