谁能提点意见 帮我看看 运行后结果显示框一闪而过 怎么回事??show_str子程序前面已经用过了 没问题 可能就是dtoc子程序有问题 但自己找了好久 没找出来 自己的错误自己可能难找 但旁观者清。
assume cs:code,ss:satck,ds:data
data segment
db 10 (0)
data ends
satck segment
dw 16 (0)
satck ends
code segment
start: mov ax,12666
mov bx,data
mov ds,bx
mov si,0
mov bx,satck
mov ss,bx
mov sp,32
call dtoc
mov dh,8
mov dl,3
mov cl,2
call show_str
mov ax,4c00h
int 21h
dtoc:push dx
push ax
push bx
push cx
push si
mov cx,0
s1: mov dx,0
mov bx,0ah
div bx
push dx
inc cx
mov bx,cx
mov cx,ax
jcxz ok1
mov cx,bx
jmp s1
ok1:inc cx
pop [si]
inc si
loop ok1
pop si
pop cx
pop bx
pop ax
pop dx
ret
show_str:push ax
push dx
push bx
push si
push cx
mov ax,0b800h
mov es,ax
mov al,160
mul dh
add dl,dl
mov dh,0
add ax,dx
mov bx,ax
mov al,cl
s:mov cl,[si]
mov ch,0
jcxz ok
mov es:[bx],cl
mov byte ptr es:[bx+1],al
inc si
add bx,2
jmp short s
ok:pop cx
pop si
pop bx
pop dx
pop ax
ret
code ends
end start |