主题:[讨论]关于利用时钟中断控制时间的方法
在系统定时器中,每发生一次中断8,就会调用1ch中断。因此可以通过改变该中断来实现一些有时间需求的程序。
比如我想做个程序来显示一段字符串,每隔10S显示一次。以下是我写的源代码。高手帮看看,存在哪些问题。
.MODEL SMALL
.DATA
MSG DB 'the bell is ring!',0AH,0DH,'$'
COUNT DB 1
.CODE
MAIN PROC FAR
START:
MOV AX,@DATA
MOV DS,AX
PUSH DS
MOV AX,SEG RING
MOV DS,AX
MOV AX,OFFSET RING
MOV DX,AX
MOV AL,1CH
MOV AH,25H
INT 21H
POP DS
MOV AH,4CH
INT 21H
MAIN ENDP
RING PROC NEAR
PUSH DS
MOV AX,@DATA
MOV DS,AX
LEA DX,MSG
MOV AH,9
INT 21H
DEC COUNT
JNZ EXIT
MOV COUNT,182
EXIT: POP DS
IRET
RING ENDP
END START
比如我想做个程序来显示一段字符串,每隔10S显示一次。以下是我写的源代码。高手帮看看,存在哪些问题。
.MODEL SMALL
.DATA
MSG DB 'the bell is ring!',0AH,0DH,'$'
COUNT DB 1
.CODE
MAIN PROC FAR
START:
MOV AX,@DATA
MOV DS,AX
PUSH DS
MOV AX,SEG RING
MOV DS,AX
MOV AX,OFFSET RING
MOV DX,AX
MOV AL,1CH
MOV AH,25H
INT 21H
POP DS
MOV AH,4CH
INT 21H
MAIN ENDP
RING PROC NEAR
PUSH DS
MOV AX,@DATA
MOV DS,AX
LEA DX,MSG
MOV AH,9
INT 21H
DEC COUNT
JNZ EXIT
MOV COUNT,182
EXIT: POP DS
IRET
RING ENDP
END START