zoukankan      html  css  js  c++  java
  • 《汇编程序》王爽实验10.3的解法

    一、实验要求

    编写一个子程序,实现将一个数值转换为表示十进制数的字符串


    二、程序接口

    名称:dtoc
    功能:将word型数据转变为十进制数的字符串,字符串以0为结尾符
    参数:(ax) = word型数据
      ds:si指向字符串的首地址
    返回:无


    三、算法概述

    1、可以反复调用除法运算除以10d取余数,直到商为0,可以获得十进制各位码

         例如:

    10 |  12666                 6

          ——————

       10 |    1266              6

            —————

           10 |  126              6

                ————

             10 | 12               2

                  ———   

                 10 | 1             1

                      ——

                         0

    2、对十进制各位码加上30h就转换成为了各位的ASCII值


    解法

    ;子程序描述
      ;名称: d2c
      ;功能: 将数字转换成字符串形式,放入[DI]为起始的内存单元中
      ;参数: (dx)=dword型数据的高16位 (ax)=dword型数据的低16位
      ;返回: 以0结尾的字符串,放在[DI]为起始地址的内存单元中
      d2c:
        call divdw
        add cx,30h  ;得到的余数转化为字符串
        push cx
        mov cx,ax
        jcxz ok
       
        jmp d2c
      ok:
        mov ax,64
        mov cx,sp
        sub ax,cx
        mov cl,2
        div cl  ;得到字符的个数
        mov ch,0
        mov cl,al   ;设置循环的次数
        sub cl,1
       reverse: ;以正确的顺序放入字符串
        pop ax
        mov [di],al
        inc di
       
        loop reverse
        mov al,0
        mov [di],al
        inc di
       
        ret


  • 相关阅读:
    npm start 时报 node_modules/nan 错误
    webpack 插件依赖
    reducer-form 数组字段 在removeField/removeField 之后 dirty 不改变的问题
    sass 入门教程
    解决国内gem不能用的问题
    nrm 快速切换 NPM 源
    数值补全指定位数
    文本溢出使用省略号
    css/js效果笔记
    用MyEclipse,只要一开css文件就报错,按下任何键都报错
  • 原文地址:https://www.cnblogs.com/cxjchen/p/2969004.html
Copyright © 2011-2022 走看看