所谓的除法溢出超过寄存器的存储范围.例如对于div bx,此时寄存器是16位,算出来的商超过了16位,AX(保存商的寄存器)无法保存超过16位的数据。
解决方法:例如803/7为例,先拿8/7等于商为1,余数为1,接着余数1乘以10加上0/7为商为1,余数为3,接着再拿余数3乘以10加上3为33/7商为4余数5,那么最后的结果就位商为114,且余数为5
assume cs:code,ss:stack stack segment stack db 256 dup (0) stack ends code segment start: mov ax,0FFFFh mov dx,0ffffh mov bx,4h push ax mov ax,dx xor dx,dx;dx清0, xor dx,dx 比mov dx,0快 div bx mov cx,ax pop ax div bx mov ax,4c00h int 21h code ends end start