assume cs:code, ds:data, es:data1, ss:stack
data segment
dw 123,12666,1,8,3,38
data ends
data1 segment
db 32 dup(0)
data1 ends
stack segment
dw 16 dup(0)
stack ends
code segment
_start:
mov ax, data
mov ds, ax
mov ax, data1
mov es, ax
mov ax, stack
mov ss, ax
mov sp, 32
; 转换数字为字符串
mov si, 0 ; data 索引
mov di, 0 ; data1 索引
mov cx, 6 ; 6个数字
s1:
push cx
mov ax, ds:[si] ; 要转换的数字
call word_to_dec ; 调用转换子程序
add si, 2
mov byte ptr es:[di], ',' ; 添加逗号分隔符
inc di
pop cx
loop s1
; 显示字符串
mov si, 0
mov dh, 8 ; 行号
mov dl, 3 ; 列号
mov cl, 2 ; 颜色属性
call show_str
mov ax, 4c00h
int 21h
; 子程序:将AX中的字转换为十进制字符串
; 输入:AX = 要转换的数字
; 输出:ES:DI 指向的字符串
word_to_dec proc
push ax
push bx
push cx
push dx
push si
mov bx, 10 ; 除数
mov si, di ; 保存起始位置
&n
汇编实现数值到字符串转换

最低0.47元/天 解锁文章
887

被折叠的 条评论
为什么被折叠?



