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

我的博客

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

[2008-01-10 21:01] 10-2

功能:进行不会产生溢出的除法运算,被除数为dword型,除数为word型,结果为dword型。 

assume cs:code  
code segment  
  start: 
    mov ax,4240h    ;被除数低16位  
     mov dx,000fh    ;被除数高16位  
     mov cx,0ah      ;除数  
     call divdw      ;调用子程序divdw  
    mov ax,4c00h   
    int 21h  

-----------------------
名称:Divdw 
功能:进行不会产生溢出的除法运算,被除数为dword型,除数为word型,结果为dword型。 
参数:(ax)=dword型数据的低16位 
      (dx)=dword型数据的高16位 
      (cx)=除数 
返回:(ax)=结果的低16位 
      (dx)=结果的高16位 
      (cx)=余数 

 divdw:           
    push si  
    push di 
         
    mov di,ax      ;将低16位ax暂存于bx   
    mov ax,dx      ;将高16位进行除法运算  
    mov dx,0           
    div cx  
    mov si,ax      ;将int(H/N)暂存于si 
    
    mov ax,di          div cx           
    mov cx,dx      ;将最终余数给cx     
    mov dx,si    
           
    pop di 
    pop si  
    ret  
code ends  
end start
评论次数(1)  |  浏览次数(436)  |  类型(汇编作业) |  收藏此文  | 

[  zhuzhu   发表于  2008-01-11 08:22  ]

不错,子函数功能正确。

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