鱼C论坛

 找回密码
 立即注册
查看: 3684|回复: 5

计算n的三次方的程序疑惑

[复制链接]
发表于 2011-11-15 23:43:55 | 显示全部楼层 |阅读模式

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

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

x
在书上200页,有一个计算n的三次方的子程序是这样的:
cube:mov  ax,   bx
       mul   bx
       mul   bx
        ret
可是我总感觉这样有些不妥。因为比如n是122h的话,122h*122h=14884h,此时n的平方牵涉到了dx.那么接下来的mul bx只是用ax中的值和bx相乘,而且乘出来的值又会对dx有影响。这样不就求出的不是n的三次方吗?
实际调试也确实是这样。如果n=122h,那么这样做的结果是dx=52h,ax=2588h,即结果是522588h,而实际应是1742588h。
是这样子吗,还是我哪里考虑错了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-16 04:08:41 From FishC Mobile | 显示全部楼层
偶来回答!
第一:两数相乘高位存dx 低位ax
第二: 常数的平方,比如3*3*3=9*3
第三:它们相乘的时候是把dx附带进去相乘的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-11-16 10:48:29 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-16 11:09:58 | 显示全部楼层
要用到带进位指令imul
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-16 19:13:44 | 显示全部楼层
本帖最后由 cfer 于 2011-11-16 19:14 编辑

感谢各位的回答{:7_181:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-17 12:22:13 | 显示全部楼层
我也一直迷糊中:handshake
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-19 10:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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