. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->数据处理的两个基本问题
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  div小问题  [待解决] 回复[ 1次 ]   点击[ 331次 ]  
pkingsha
[帖 主]   [ 发表时间:2013-02-20 01:06 ]   [引用]   [回复]   [ top ] 
荣誉值:4
信誉值:0
注册日期:2013-02-02 01:48
我们平常数学中:8/4=2   8为除数,4为被除数,2为商
        汇编中:div byte ptr ds:[0]
              (al)=(ax)/((ds)*16+0)的商
                (ah)=(ax)/((ds)*16+0)的余数
                被除数:默认放在AX或DX和AX中,那这里的AX里面放的是被除数?
                       那不是说al=被除数/除数?我有点纠结,大手能帮忙解一下吗?
qq8581518
[第1楼]   [ 回复时间:2013-02-25 21:31 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-07-01 22:53
两种可能,除数是8位的时候,被除数应该是16位,放在ax中,结果:商在al中,余在ah中。   除数是16位的时候,被除数放在dx和ax中 (高8位放在dx中低8位放在ax中)结果:商在ax中,余在dx中   你这个div bye ptr ds:[0]  除数是字节型 就是8位的。 那么被除数应该是16位的,默认应该放在ax中。如果你用div word ptr ds:[0]的话 ,被除数应该放在dx,ax中。  回答有点乱,请谅解
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved