| outman |
2011-08-09 16:18 |
8086汇编函数:dtoc
数字->数字字符串 程序名:dtoc 功能:将word型数据转变为表示十进制数的字符串,以0为结尾符 参数:ax=word型数据 ds:si指向供程序写入字符串的地址(程序结束后ds、si必须与传入时一样) 下面上代码
assume cs:code,ds:data data segment dw 0,0 data ends
code segment start:
mov ax,data mov ds,ax mov ax,1234 mov si,0 call dtoc
mov dh,0 mov dl,0 mov cl,00000111b call show_str mov ax,4c00h int 21h
dtoc: push bx push di mov bx,10 mov dx,0 mov di,0;计数器
dtoc_loop: div bx push dx inc di
mov cx,ax jcxz dtoc_endloop;检测是否获取完毕
mov dx,0 jmp dtoc_loop
dtoc_endloop:
mov bx,si mov cx,di
dtoc_loop2: pop ax add ax,30h mov ds:[bx],ax inc bx loop dtoc_loop2 mov ds:[bx],0 pop di pop bx ret
code ends end start
代码运行完毕后,data段的数据将会变成31h,32h,33h,34h,0 |
|