DATA SEGMENT
STR DB 'M', 9EH, 'O', 9EH, 'V', 9EH, 'I', 9EH, 'N', 9EH, 'G', 9EH
DATA ENDS
STACK SEGMENT PARA STACK
DW 20 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STACK, ES:DATA
BEGIN: MOV AX, DATA
MOV DS, AX
MOV ES, AX
MOV AH, 0FH
INT 10H
PUSH AX
MOV AL, 01H
MOV AH, 00H
INT 10H
MOV BP, OFFSET STR
MOV CX, 06H
MOV DX, 0
MOV BH, 0
MOV AL, 3H
MOV AH, 13H
INT 10H
MOV BH, 0
MOV CH, 0
MOV CL, 0
MOV DH, 1
MOV DL, 6
CALL DOWN
POP AX
INT 10H
MOV AH, 4CH
INT 21H
DOWN PROC
LOP: MOV AH, 07H
INT 21H
CMP AL, 'Q'
JE OVER
CMP AL, 'q'
JE OVER
MOV AL, 01H
MOV AH, 07H
INT 10H
INC CH
INC DH
JMP LOP
OVER: RET
DOWN ENDP
CODE ENDS
END BEGIN