题目:利用系统定时源设计1CH中断程序,要求每隔一定时间在系统机屏幕上显示一行字符串(字符串内容自定)。
程序清单:
;FILENAME:861-1.ASM
.486
DATA SEGMENT USE16
MESG DB 'WWW',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 ;是否已经显示10行,否转
CALL RESET
MOV AH,4CH
INT 21H
;-------------------------------
SERVICE PROC
PUSHA ;保护现场
PUSH DS ;DS=40H
MOV AX,DATA
MOV DS,AX ;重新给DS赋值
DEC ICOUNT ;中断计数
JNZ EXIT ;不满18次转
MOV ICOUNT,18
DEC COUNT ;显示行数减1
MOV AH,9 ;显示字符串
LEA DX,MESG
INT 21H
EXIT: POP DS ;恢复现场
POPA
IRET ;返回系统8型中断服务程序
SERVICE ENDP
;------------------------------
READ1C PROC