甲鱼的实验十,除法益处的问题
又是一个悲剧,抄老师视频代码的,运行还是报错,提示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-13 13:13 static/image/common/back.gif
会不会是环境问题,我可以啊
不是吧,你把我代码拷贝进去,你运行没问题?
页:
[1]