汇编语言程序,用于模拟十进制计数器

时间:2014-03-23 14:09:47

标签: assembly x86 dos

这是一个汇编语言程序,用于模拟十进制计数器。但输出卡在00.为什么?

.model small


.code
        call cls

        mov ch,30h
        mov cl,30h

  next: mov dh,12
        mov dl,38
        mov bx,00
        mov ah,2
        int 10h

        mov dl,ch
        mov ah,2
        int 21h

        mov dl,cl
        mov ah,2
        int 21h

        inc cl

        call dely

        cmp cl,39h
        jbe next

        mov cl,30h
        inc ch
        cmp ch,39h
        jbe next

        mov ah,4ch
        int 21h

   cls  proc near
        mov cx,55
        mov dl,13
    nl: mov ah,2
        int 21h
        loop nl
        ret
        cls endp

  dely proc near
        mov SI,05fffh
     L1:mov DI,05fffh
     L2:dec DI
        jnz L2
        dec SI
        jnz L1
        ret
        dely endp

        end

1 个答案:

答案 0 :(得分:0)

您的代码唯一的问题是您的dely程序等待时间过长,因此您认为它被卡住了。尝试用较少的东西加载SI,大约10的值似乎在这里正常工作。