|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我编写的一个数字转字符串函数。开始我先是假设已经知道有多少个位(如12666 有五个位)写出了这个函数
;数转字符串函数
dtoc:
push bx
push dx
push si
;取得余数
div bx;dx=6 ax=1266
push dx
mov dx,0
div bx;dx=6 ax=126
push dx
mov dx,0
div bx;dx=6 ax=12
push dx
mov dx,0
div bx;dx=2 ax=1
push dx
mov dx,0
div bx;dx=1 ax=0
push dx
mov dx,0
;取得余数
mov cx,5
s:
pop dx
add dx,30h
mov [si],dx
inc si
loop s
mov [si],0
pop si
pop dx
pop bx
ret
;数转字符串函数
然后我改成不知道这个数有多少位的情况 是这样
;数转字符串函数
dtoc:
push bx
push dx
push si
mov bp,0;作计数器 计算ax中的数字有多少位
;取得余数
s0:
div bx
push dx
mov dx,0
mov cx,ax
inc bp
jcxz s
jmp s0
;取得余数
mov cx,bp
s:
pop dx
add dx,30h
mov [si],dx
inc si
loop s
mov [si],0
pop si
pop dx
pop bx
ret
;数转字符串函数
但是改成这样只后运行时出现错误 弹出一个对话框说是无效指令 为什么呢
|
|