鱼C论坛

 找回密码
 立即注册
查看: 3029|回复: 1

觉得王爽老师课本上有一处错误,求指导

[复制链接]
发表于 2017-10-23 22:47:51 | 显示全部楼层 |阅读模式

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

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

x
在王爽老师的第三版第十章第十节中

计算N的3次方的子程序是这样写的:
cube:
         mov ax,bx
         mul bx
         mul bx
         ret
问题在于 ,第一次 mul bx后  结果的高16位是存在dx中的
                第二次mul bx,只是再将ax中的值乘以bx中的值,第一次运算存在dx中的高16位被忽略了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-24 11:39:12 | 显示全部楼层
本帖最后由 兰陵月 于 2017-10-24 11:40 编辑

你说的没错~~

如果是一个任意的16位数字,

必须要考虑相乘结果大于AX能表示的范围甚至DX:AX溢出的问题。

我的理解是这个子程序是用在接下来的那个程序里的,

而这个程序里最大的数字不过是8,所以不会有结果超出范围的情况。

这里王爽主要是讲个思路,

真正任意数字3次方的实现需要一段更长的代码。

不过这段代码应该也不是很复杂。


王爽老师虽然是好老师,

但是我们也可以怀疑一切,哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 01:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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