assume cs:code
data segment
db 10 dup (0)
data ends
code segment
start:mov ax,12666
mov bx,data
mov ds,bx
mov si,0
call dtoc
mov dh,8
mov dl,3
mov cl,2
call show_str
mov ax,4c00h
int 21h
dtoc: push dx
push si
push cx
push bx
push di
mov bx,10
dtoc_s: sub dx,dx
div bx
mov cl,dl
add cl,30h
push cx
inc di
mov cx,ax
inc cx
loop dtoc_s
mov cx,di
dtoc_s1:pop ax
mov [si],al
inc si
loop dtoc_s1
pop di
pop bx
pop cx
pop si
pop dx
ret
show_str: push dx
push ax
push es
push bx
push si
push cx
mov cl,dh
mov ch,0
mov ax,0
jcxz a
s: add ax,0a0h
loop s
a: mov cl,dl
jcxz a1
s0: add ax,2
loop s0
a1: mov bx,ax
mov ax,0b800h
mov es,ax
pop ax
show: mov cl,[si]
jcxz ok
mov es:[bx+1],al
mov es:[bx],cl
inc si
add bx,2
jmp short show
ok: push ax
pop cx
pop si
pop bx
pop es
pop ax
pop dx
ret
code ends
end start
转载请注明原文地址:https://blackberry.8miu.com/read-1911.html