stack   segment stack
        db 200 dup(0)
stack   ends
data  segment

DAT DB '0'
data   ends
code   segment
assume cs:code,ss:stack,ds:data
start:  mov ax,data
        mov ds,ax
        mov ah,0
        mov al,2
        int 10h
        
        mov ah,2
        mov dx,2020h
        int 10h
        
        mov ah,9
        mov al,06h
        mov bl,7
        mov cx,1
        int 10h

 A:       inc dh
        dec dl
        mov al,06h
        mov cx,1
        call play
        
        inc dh
        inc dl
        mov al,06h
        mov cx,1
        call play
       

        dec dh
        inc dl
        mov al,06h
        mov cx,1
        call play
        
        dec dh
        dec dl
        mov al,06h
        mov cx,1
        call play
        INC DAT
        MOV DL,1
        CMP DAT,'6'
        JBE A
play    proc
        mov bx,si
        push ax
        mov ah,2
        int 10h
        pop ax
        mov ah,10
        int 10h
        ret
play    endp
code    ends
        end start
帮我看 一下下,结果不是在屏幕中间输出棱形??怎么搞的