用减法实现32位除法

masmaster 2010-12-22 05:22:45
有感彪兄弟的帖
http://topic.csdn.net/u/20101222/11/468e27eb-2806-4102-ae8d-576fac0e7a9c.html?790

我的做法是把除法化解成减法,便于理解,效率上不做考虑!

assume cs:code,ds:data
data segment
quo dw 0 ;商
rem dw 0 ;余数
data ends
code segment
start:
mov ax,data
mov ds,ax
;
mov ax,1234h ;被除数高16位
mov dx,5678h ;低16位
mov cx,0123h ;除数高16位
mov bx,4567h ;低16位
;
s0:
sub dx,bx ;做32位减法
sbb ax,cx ;
cmp ax,cx ;高16位比较
jb s1
inc word ptr quo ;商增1
jmp s0
s1:
cmp dx,bx ;低16位比较
jb s2
inc word ptr quo ;商增1
jmp s0
s2:
mov word ptr rem,dx ;rem<--余数
;
mov ah,4ch
int 21h
code ends
end start
...全文
133 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
masmaster 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 nanlingcg 的回复:]
123456789012345678901234567890/87654321
怎么办???买个电脑就专门让它在那算???!!!
[/Quote]
呵呵~~~,让大侠见笑啦~~
masmaster 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 abgood 的回复:]
为什么s1代码段要用cmp dx,bx???
[/Quote]
这段比较的被除数是否小于除数。如果被除数小于除数, 余数自然就是那个dx啦~
abgood 2010-12-22
  • 打赏
  • 举报
回复
为什么s1代码段要用cmp dx,bx???
nanlingcg 2010-12-22
  • 打赏
  • 举报
回复
123456789012345678901234567890/87654321
怎么办???买个电脑就专门让它在那算???!!!
国际学术期刊Science/AAAS和英特尔在全球首次联袂推出第一季《架构师成长计划》以来,吸引了无数架构师踊跃参与,获得业内广泛赞誉。为持续助力架构师把握数智机遇,构建未来,第二季《架构师成长计划》全新升级,强势归来!业内顶尖架构师大咖齐聚,为架构师群体量身打造系统成长课程,带来涵盖云游戏、云原生、联邦学习、生信大数据、算力网络、云网融合等多个热门话题的前沿技术及案例实践。第一期:超视频时代 音视频架构建设与演进复制链接收看完整内容:https://bizwebcast.intel.cn/eventstart.aspx?eid=298&tc=yxq0921l2d&frm=csdn_2第二期:转化医学研究背景下的高性能计算平台复制链接收看完整内容:https://bizwebcast.intel.cn/eventstart.aspx?eid=311&tc=pzw21rx59o&frm=csdn_2第三期:联邦学习的研究与应用实践复制链接收看完整内容:https://bizwebcast.intel.cn/eventstart.aspx?eid=315&tc=0e8trfvt8i&frm=csdn_2第四期:用架构思维为云原生做减法复制链接收看完整内容:https://bizwebcast.intel.cn/eventstart.aspx?eid=316&tc=i2kgf55ggn&frm=csdn_2第五期:网络智能化技术与演进复制链接收看完整内容:https://bizwebcast.intel.cn/eventstart.aspx?eid=322&tc=ckhvmonqvb&frm=CSDN_2第六期:异构计算 数据中心“芯”变革复制链接收看完整内容:https://bizwebcast.intel.cn/eventstart.aspx?eid=325&tc=mzppx1h6ri&frm=csdn_2第七期:筑算力,话东西复制链接收看完整内容:https://bizwebcast.intel.cn/eventstart.aspx?eid=327&tc=gwb7n8x79n&frm=csdn_2第八期:AI驱动的生命科学创新范式之变复制链接收看完整内容:https://bizwebcast.intel.cn/eventstart.aspx?eid=328&tc=zircyqwy9u&frm=csdn_2第九期:软硬一体实现数据库性能优化复制链接收看完整内容:https://bizwebcast.intel.cn/eventstart.aspx?eid=348&tc=4a46kfrb0o&frm=csdn_2第十期:AI规模化应用时代的深度学习平台构建复制链接收看完整内容:https://bizwebcast.intel.cn/eventstart.aspx?eid=349&tc=fm9a1mrumb&frm=csdn_2

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧