assume cs:code
stack segment
dw 8 dup (0)
stack ends
code segment
start: mov ax,0b800h
mov ds,ax
mov si,160*8+12
mov ax,stack
mov ss,ax
mov sp,16
mov dh,2
mov dl,'a'
suru:in al,60h ;按住ESC变绿放开变红色
cmp al,1h
jne jx
mov dh,2
jx:cmp al,81h
jne jx1
mov dh,4
jx1:mov [si],dx
call yansi
inc dl
add si,2
cmp dl,'z'
jna suru
mov ax,4c00h
int 21h
yansi: push dx ;子程序停1秒
push ax
mov dx,1fffh
mov ax,0
s:sub ax,1
sbb dx,0
cmp ax,0
jne s
cmp dx,0
jne s
pop ax
pop dx
ret
code ends
end start |