. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->数据处理的两个基本问题
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  DIV  32位除16位 出错  [已解决] 回复[ 4次 ]   点击[ 375次 ]  
famingyuan
[帖 主]   [ 发表时间:2010-03-17 21:15 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-11-16 13:00
源代码:

assume cs:codeseg    
codeseg segment
  
      MOV AX,20h
      MOV DX,1234H
      
      mov bx,11H
      
      DIV  bx
      
      
  
      
      MOV ax,4c00h
      int 21H
      

codeseg ends
end

运行过程:
-r
AX=0000  BX=0000  CX=0010  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=2818  ES=2818  SS=2828  CS=2828  IP=0000   NV UP EI PL NZ NA PO NC
2828:0000 B82000        MOV     AX,0020
-t

AX=0020  BX=0000  CX=0010  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=2818  ES=2818  SS=2828  CS=2828  IP=0003   NV UP EI PL NZ NA PO NC
2828:0003 BA3412        MOV     DX,1234
-t

AX=0020  BX=0000  CX=0010  DX=1234  SP=0000  BP=0000  SI=0000  DI=0000
DS=2818  ES=2818  SS=2828  CS=2828  IP=0006   NV UP EI PL NZ NA PO NC
2828:0006 BB1100        MOV     BX,0011
-t

AX=0020  BX=0011  CX=0010  DX=1234  SP=0000  BP=0000  SI=0000  DI=0000
DS=2818  ES=2818  SS=2828  CS=2828  IP=0009   NV UP EI PL NZ NA PO NC
2828:0009 F7F3          DIV     BX
-t
Divide error    ;  出错了

Program terminated normally
-


求证。 多谢。
famingyuan
[第1楼]   [ 回复时间:2010-03-17 21:16 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-11-16 13:00
为什么会出错呢?   想象的是  (DX)*16+AX  /  BX   : 商存放于AX中,  余数放在DX中 ,但出错了
versaariel
[第2楼]   [ 回复时间:2010-03-17 22:07 ]   [引用]   [回复]   [ top ] 
荣誉值:62
信誉值:0
注册日期:2009-12-03 13:14
MOV AX,20h 
      MOV DX,1234H 
 cwd ;insert this newline      
      mov bx,11H 
      DIV  bx
famingyuan
[第3楼]   [ 回复时间:2010-03-17 23:02 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-11-16 13:00
谢谢,这本书 我刚学到这章,还不不知道 cwd的意思。 不过问题解决了,没有出错。 谢谢哈。
famingyuan
[第4楼]   [ 回复时间:2010-03-17 23:03 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-11-16 13:00
此贴由 贴主 于 [ 2010-03-17 23:03 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved