有你更完美 发表于 2011-7-11 01:27:13

甲鱼的实验十,除法益处的问题

又是一个悲剧,抄老师视频代码的,运行还是报错,提示Divide overflow 郁闷啊,那位大哥帮帮忙哦assume cs:code                ;计算1000000/10(f4220h/0ah)

code segment
        start:        mov ax,4240h        ;dword 型数据的低16位
                        mov dx,000fh                ;dword        型数据的高16位
                        mov cx,0ah                ;是除数
                        call divdw
               
                        mov ax,4c00h
                        int 21
                       
        divdw:        ;子程序的开始,实现的公式:X/N=int(H/N)*65536+/N
                        push ax                ;说明,低16位先保存后边要用到
                       
                        mov ax,dx        ;ax这时候的值是高16位了
                        mov dx,0        ;清空参数传进来的高16位,为了不影响下面的余数位
                       
                        div cx                ;除数放在cx里 (H/N)
                        mov bx,ax        ;结果,ax存放的是商,dx存放的是余数
                       
                        pop        ax                ;ax现在是低16位
                        div cx                ;L/N,注意,16位除法的时候默认被除数DX为高16位,AX为低16位
                       
                        mov cx,dx ;按要求把(dx)=结果的高16位,(ax)=结果的低16位,(cx)=余数
                        mov dx,bx
                       
                        ret
                       
code ends
end start

有你更完美 发表于 2011-7-12 09:00:54

自己顶自己

七十二地煞 发表于 2011-7-13 12:55:48

帮你顶顶吧

七十二地煞 发表于 2011-7-13 13:13:08

会不会是环境问题,我可以啊

有你更完美 发表于 2011-7-13 15:48:01

七十二地煞 发表于 2011-7-13 13:13 static/image/common/back.gif
会不会是环境问题,我可以啊

不是吧,你把我代码拷贝进去,你运行没问题?
页: [1]
查看完整版本: 甲鱼的实验十,除法益处的问题