南邮微机实验报告:基于中断的字符串屏幕动态显示[1]
基于中断的字符串屏幕动态显示
一.实验要求
利用系统定时源设计1CH中断程序,要求每隔一定时间在系统机屏幕上显示一行字符串。显示十行后自动结束,并且在显示十行过程中按任意键也可结束。
二.实验设备
硬件:PC机。
软件:“未来汇编”汇编语言开发环境
三.实验程序
FILENAME:634.ASM .486 DATA SEGMENT USE16 OLD1C DD ? ICOUNT DB 18 COUNT DB 10 MESSAGE DB 0DH,0AH, 'B10010937JLS$' DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX,DATA MOV DS,AX CLI CALL READ1C CALL WRITE1C STI SCAN: MOV AH,1 INT 16H JNZ RE CMP COUNT,0 JNZ SCAN RE: 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 MOV AH,09H MOV DX,OFFSET MESSAGE INT 21H DEC COUNT 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
四.实验小结
通过本次的实验,我掌握了对系统定时源1CH中断进行计时实现长时间定时的方法,又一次复习了DOS系统I/O功能的调用,并学会了BIOS键盘输入01H号功能的调用,对汇编程序的设计有了进一步的理解。