将数值转换为表示十进制数的字符串

这篇博客介绍了如何使用汇编语言编写一个子程序dtoc,该程序将word型数据转换为表示十进制数的字符串。通过除以10取余数的方法,得到每一位的十进制数,并将其转换为ASCII码存储。文章提供了详细的算法概述、实现代码以及测试代码,展示了如何将12666转换为对应的字符串并进行显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

王爽汇编语言第二版,实验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值

 

 


四、实现代码

dtoc:

       push ax                 ;保存寄存器现场

       push bx

       push cx

       push dx

       push si

      

       mov bp,0        ;字符串长度计数器

  dtoc_s:

      mov cx,10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值