鱼C论坛

 找回密码
 立即注册
查看: 3503|回复: 4

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

[复制链接]
发表于 2011-7-11 01:27:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
又是一个悲剧,抄老师视频代码的,运行还是报错,提示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+[rem(H/N)*65536+L]/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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-12 09:00:54 | 显示全部楼层
自己顶自己
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-13 12:55:48 | 显示全部楼层
帮你顶顶吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-13 13:13:08 | 显示全部楼层
会不会是环境问题,我可以啊

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-13 15:48:01 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 00:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表