. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->CALL和RET指令
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  问:除数为dword型的除法  [待解决] 回复[ 3次 ]   点击[ 616次 ]  
yuhuofei
[帖 主]   [ 发表时间:2009-05-04 18:04 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-11-17 21:27
关于实验10之二——解决除法溢出问题 
子程序功能:进行不会产生溢出的除法运算,被除数为dword型,除数为word型,结果为dword型。 
 
如果除数也是dword型,那么该怎么考虑呢?
mess
[第1楼]   [ 回复时间:2009-05-05 02:23 ]   [引用]   [回复]   [ top ] 
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48
你做好和研究透这个第二个子程序了吗?是不是可以用类似的方法扩展。
zhenglxd
[第2楼]   [ 回复时间:2009-05-20 20:10 ]   [引用]   [回复]   [ top ] 
荣誉值:30
信誉值:0
注册日期:2009-04-09 10:05
回复:[贴 主]
------------------
楼主的命题是 没有意义的 任何程序都有范围 没有什么是可以无限适应的
防溢出 的关键是 你要预先知道 溢出数值的范围
如果除数是dword
那么把被除数和除数同时除以一个数字然后下进行除法
比如1亿 除以10万
先把10万/10得1万

再把1亿/10得 一千万
在做1千万 / 1万的除法
程序的构思和 防溢出的一样 
可能商的位数 会超过8位那么 做好相关寄存器的数值保存和转换
1035802659
[第3楼]   [ 回复时间:2010-05-05 14:44 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-05-01 15:37
思想独特,谢谢!
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved