鱼C论坛

 找回密码
 立即注册
查看: 4399|回复: 6

关于乘法mul问题

[复制链接]
发表于 2016-1-1 09:35:56 | 显示全部楼层 |阅读模式
10鱼币
assume cs:cod,ds:da

da segment
        dw 1,2,3,4,5,6,7,8
        dd 0,0,0,0,0,0,0,0
da ends

cod segment
start:
        mov ax,da
        mov ds,ax
        mov si,0
        mov di,16
        mov cx,8
       
       
        s:
        mov bx,ds:[si]
        call cube
        mov ds:[di],ax
        mov ds:[di+2],dx
        add si,2
        add di,4
        loop s
       
        mov ax,4c00h
        int 21h
       
       
        cube:
        mov ax,bx
        mul bx
        mul bx
        ret
cod ends

end start

大家看这个程序的这个部分
mov ax,bx
        mul bx
        mul bx

这是一个计算三次方的子程序,结果放在ax,dx中,但是如果第一次相乘结果就大于16位,那就是ax,dx中都有数据,然后再mul bx,就是ax乘以bx,那dx中的数据等于就被忽略了,是不是是错误的了

最佳答案

查看完整内容

真的明白了,如果第一次相乘就大于16位,就溢出了 第一次相乘 180*180 = 32400 = 7E90h (还没有溢出) 如果真的要计算 180*180*180 就要改进算法了 180 不是极限 181 也可以 我不想找那个极限了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-1 09:35:57 | 显示全部楼层
人造人 发表于 2016-1-2 12:02
s:
        mov bx,ds:[si]
        call cube

真的明白了,如果第一次相乘就大于16位,就溢出了
第一次相乘 180*180 = 32400 = 7E90h (还没有溢出)
如果真的要计算 180*180*180 就要改进算法了
180 不是极限 181 也可以 我不想找那个极限了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-2 12:02:30 | 显示全部楼层
s:
        mov bx,ds:[si]
        call cube
        mov ds:[di],ax
        mov ds:[di+2],dx

        add si,2
        add di,4
        loop s
仔细看,你能明白的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-3 15:45:35 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-5 11:49:38 From FishC Mobile | 显示全部楼层
我也觉得奇怪,如果是dw 10000,20000,30000,40000,50000,60000会是什么情况?等会试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-1-7 16:44:53 | 显示全部楼层
人造人 发表于 2016-1-2 12:02
s:
        mov bx,ds:[si]
        call cube

没看明白啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-1-7 16:45:24 | 显示全部楼层
人造人 发表于 2016-1-5 12:02
真的明白了,如果第一次相乘就大于16位,就溢出了
第一次相乘 180*180 = 32400 = 7E90h (还没有溢出)
...

就是算法不行吧,应该算不了大数了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-27 01:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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