将数值转换为表示十进制数的字符串2
来源:互联网 发布:网络宣传推广方式 编辑:程序博客网 时间:2024/05/16 18:49
王爽汇编语言第二版
一、实验要求
上一部分实现了把一个word类型的数据转换为表示十进制数的字符串,现有需求要实现dword类型数据的转换,可用类似算法实现。算法参考http://blog.csdn.net/lingdushanke/archive/2009/12/28/5090736.aspx。
对dword类型的转换可能出现除法溢出的问题,解决方法参考http://blog.csdn.net/lingdushanke/archive/2009/12/27/5087087.aspx
二、程序接口
名称:dtoc
功能:将dword型数转变为表示十进制数的字符串,字符串以0为结尾符
参数:(ax)=dword型数据的低16位
(dx)=dword型数据的高16位
ds:si指向字符串的首地址
返回:无
三、实现代码
dtoc: push ax push bx push cx push dx push bp push si mov bp,0 dtoc_s0: mov cx,10d call divdw push cx inc bp mov cx,ax inc cx loop dtoc_s0 mov cx,bp dtoc_s: pop bx add bl,30h mov ds:[si],bl inc si loop dtoc_s mov byte ptr ds:[si],0 pop si pop bp pop dx pop cx pop bx pop ax ret
四、测试代码
assume cs:code,ds:data,ss:stack
data segment
db 10 dup (0)
data ends
stack segment
dw 16 dup (0)
stack ends
code segment
start:
mov ax,9768h ;dx*16+ax=5937000
mov dx,5ah
mov bx,data
mov ds,bx
mov si,0
call dtoc ;调用转换的子程序
mov dh,8
mov dl,3
mov cl,2
call show_str ;调用显示字符串的子程序http://blog.csdn.net/lingdushanke/archive/2009/12/27/5085512.aspx
mov ax,4c00h
int 21h
code ends
end start
五、测试结果
- 将数值转换为表示十进制数的字符串2
- 将数值转换为表示十进制数的字符串
- 将一个十六进制字符串转换为十进制数值的问题
- 将一个十六进制“字符串”转换为十进制数值的问题
- 将一个十六进制字符串转换为十进制数值的问题
- 将一个十六进制字符串转换为十进制数值的问题
- 将一个十六进制字符串转换为十进制数值的问题
- 将一个十六进制字符串转换为十进制数值的问题
- 将一个十六进制字符串转换为十进制数值的问题
- 将一个十六进制字符串转换为十进制数值的问题
- 将一个十六进制字符串转换为十进制数值的问题
- 将一个十六进制字符串转换为十进制数值的问题
- 将一个十六进制字符串转换为十进制数值的问题
- 将一个十六进制字符串转换为十进制数值的问题
- 将一个十六进制“字符串”转换为十进制数值的问题
- 将一个十六进制字符串转换为十进制数值
- 将十六进制的字符串转换为十进制
- 将十六进制的字符串转换为十进制
- java.util包——集合与映射(序)
- 2009年开源社区人气桌面软件盘点 - Moblin入选
- Html转义字符表
- 继续摘抄:eclipse 快速建立PHP调试环境
- 远程调用 - spring+rmi
- 将数值转换为表示十进制数的字符串2
- DllMain详解
- 线程的同步问题
- 武广高铁票价是德国四分之一遭质疑
- Linux学习步骤
- CDR
- ITK 配准框架中的 Subject/Observer 模式及优化过程模拟演示-1
- Response.Redirect 打开新窗口的两种方法
- 十年学会程序设计