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

我的博客

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

[2015-02-27 14:25] 实验10(3)利用divdw的十进制转换

子程序名称:dtocdw
功能:将一个双字型数据转化为以0结束的十进制字符串,并输出于指定位置
参数:ax=双字型数据低16位
      dx=双字型数据高16位
      ds:si指向字符串首地址
返回:无
 DTOCDW:  PUSH      CX
              PUSH      SI
              PUSH      AX
              PUSH      DX
     
              SUB       CX,CX
              PUSH      CX
 DTOCDW_DIV:  MOV       CX,10
              CALL      DIVDW
              ADD       CX,30H
              PUSH      CX
              MOV       CX,AX
              JCXZ      DTOCDW_DIV_LOK
              JMP       SHORT DTOCDW_DIV
         DTOCDW_DIV_LOK:  MOV       CX,DX
              JCXZ      DTOCDW_TRANS
              JMP       SHORT DTOCDW_DIV
              
           DTOCDW_TRANS:
              POP       CX
              JCXZ      DTOCDW_TRANS_OK
              MOV       [SI],CX
              INC       SI
              INC       CX
              LOOP      DTOCDW_TRANS
        DTOCDW_TRANS_OK:
              POP       DX
              POP       AX
              POP       SI
              POP       CX
              RET


              
           
      DIVDW:  PUSH      BP
              PUSH      AX
              MOV       AX,DX
              SUB       DX,DX
              DIV       CX
              MOV       BP,SP
              MOV       [BP-2],AX
              POP       AX
              DIV       CX
              MOV       CX,DX
              MOV       DX,[BP-2]
              POP       BP
              RET
评论次数(0)  |  浏览次数(382)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码