基于中断的字符串屏幕动态显示
实验要求
利用系统定时源设计1CH中断程序,要求每隔一段时间在系统屏幕上显示一行字符串。
代码
.486
DATA SEGMENT USE16
MESG DB 'b16041017 WITTPENG',0DH,0AH,'$'
OLD1C DD ?
ICOUNT DB 18
COUNT DB 10
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
BEG: MOV AX,DATA
MOV DS,AX
CLI
CALL READ1C
CALL WRITE1C
STI
SCAN: CMP COUNT,0
JNZ SCAN
CALL RESET
MOV AH,4CH
INT 21H
SERVICE PROC
PUSHA
PUSH DS
MOV AX,DATA
MOV DS,AX
DEC ICOUNT
JNZ EXIT
MOV ICOUNT,18
DEC COUNT
MOV AH,9
LEA DX,MESG
INT 21H
EXIT: POP DS
POPA
IRET
SERVICE ENDP
READ1C PROC
MOV AX,351CH
INT 21H
MOV WORD PTR OLD1C,BX
MOV WORD PTR OLD1C+2,ES
RET
READ1C ENDP
WRITE1C PROC
PUSH DS
MOV AX,CODE
MOV DS,AX
MOV DX,OFFSET SERVICE
MOV AX,251CH
INT 21H
POP DS
RET
WRITE1C ENDP
RESET PROC
MOV DX,WORD PTR OLD1C
MOV DS,WORD PTR OLD1C+2
MOV AX,251CH
INT 21H
RET
RESET ENDP
CODE ENDS
END BEG