划分emu 8086汇编错误

dev*_*ode 2 assembly divide-by-zero x86-16

可能重复:
ASM x86整数溢出

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

include emu8086.inc

org 100h

       mov ax, 2 
       mov bx, 10
       div bx

       mov ax, 2
       mov bx, 2
       div bx   
       ret
Run Code Online (Sandbox Code Playgroud)

Jer*_*fin 7

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

由于您指定的是16位目标,因此div除以dx:ax该目标.如果dx开始包含大量数字(更准确地说,只有很少的数字),结果将溢出.即使它不会溢出,你的结果将不仅是ax/ bx你显然打算.