汇编网首页登录博客注册
rsice的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
好友圈
文章收藏
友情链接

[2008-04-03 23:51] 王爽汇编语言第10章实验10子程序2:不会溢出的除法

;divdw
;进行不会溢出的除法运算
;(ax)=dword型数据的低16位,(dx)=dword型数据的高16位,(cx)=除数
;返回:(dx)=结果的高16位,(ax)=结果的低16位,(cx)=余数
assume cs:codesg,ss:stack

stack segment
   db 16 dup (0)
stack ends

codesg segment
start:    mov ax,stack
          mov ss,ax
          mov sp,10h
          mov ax,4240h
          push ax
          mov dx,000fh
          push dx
          mov cx,0ah
          push cx
          call divdw
          mov ax,4c00h
          int 21h

divdw: push bp
            mov bp,sp
            mov ax,dx
            mov dx,0
            div cx
            mov bx,ax   ;保存高16位的商到bx
            mov ax,[bp+8]
            div cx
            mov cx,dx    ;返回时,cx放余数
              mov dx,bx    ;返回时,高16位商放到dx,ax的值正好是商的低16位
              pop bp
            ret 6
codesg ends
end start
;与答案几乎一样,呵呵
评论次数(2)  |  浏览次数(643)  |  类型(汇编作业) |  收藏此文  | 

[  crazyman   发表于  2008-04-04 11:05  ]

答案?哪来的答案啊!自己给的才是自己的答案啊。
编程这东西一人一个思路,一人一个方法,雷同很难的。
博主既然有能力自己完成,就不要在靠答案给自己鼓劲了。
你的程序,你的结果,你的computer就是你真正的答案!

[  游客   发表于  2008-04-04 12:58  ]

呵呵,是啊,要有自信嘛

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码