基于中断的字符串动态显示.doc

上传人:工**** 文档编号:556340570 上传时间:2023-08-17 格式:DOC 页数:6 大小:172KB
返回 下载 相关 举报
基于中断的字符串动态显示.doc_第1页
第1页 / 共6页
基于中断的字符串动态显示.doc_第2页
第2页 / 共6页
基于中断的字符串动态显示.doc_第3页
第3页 / 共6页
基于中断的字符串动态显示.doc_第4页
第4页 / 共6页
基于中断的字符串动态显示.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《基于中断的字符串动态显示.doc》由会员分享,可在线阅读,更多相关《基于中断的字符串动态显示.doc(6页珍藏版)》请在金锄头文库上搜索。

1、实 验 报 告(2011 / 2012 学年 第 二 学期)课程名称 微型计算机原理与接口技术实验名称基于中断的字符串动态显示实验时间2012年5月30日指导单位计算机学院指导教师学生姓名班级学号学院(系)专 业实 验 报 告实验名称基于中断的字符串动态显示指导教师实验类型验证实验学时2实验时间2012.05.30一、 实验目的和要求实验目的:掌握8259的结构、工作原理、工作方式、初始化及应用编程;掌握微机系统中断程序的设计。要求:基本要求:每隔1秒钟,在屏幕中央显示一行自己的学号,显示 10次后程序自动退出。 高级要求:每隔1秒钟,在屏幕中央以水平滚动的方式 动态显示 自己的学号,循环往复

2、,直到用户敲击键盘为止。二、实验环境(实验设备)未来汇编 8259中断控制器三、实验原理及内容实验原理:系统定时器每隔55ms产生一次日时钟中断,中断18次为990ms,接近一秒钟,由于日时钟中断每次都要调用1CH中断,因此可以设计新的1CH型的中断服务程序,对日时钟中断进行计数,计满18次显示一次学号。实验内容:【程序代码】.486DATA SEGMENT USE16 ;数据段定义 NUM DB B09010238,0AH,0DH,$ OLD1C DD ? ICOUNT DB 18 ;中断计数初值 FLAG DB 0DATA ENDSCODE SEGMENT USE16 ;代码段 ASSUM

3、E CS:CODE,DS:DATASTART: MOV AX, DATA ;DS段赋值 MOV DS, AX MOV CX,10 MOV FLAG,0 CLI ;关中断 CALL READ1C CALL WRITE1C STI ;开中断 LAST: OR FLAG,0 JZ LAST MOV FLAG ,0 MOV AH,9 MOV DX,OFFSET NUM INT 21H ;显示一行 LOOP LAST ;循环计数 CALL RESET MOV AH,4CH ;返回DOS INT 21H;-以下为中断服务程序 -SERVICE PROC PUSHA ;保护现场 PUSH DS MOV AX

4、,DATA ;注意:重新给DS赋值。 MOV DS, AX DEC ICOUNT ;中断计数 JNZ EXIT ;不满18次转移 MOV ICOUNT,18 ;满18次,重新赋计数初值 MOV FLAG,1 EXIT: POP DS POPA ;注意:不需给8259A送中断结束命令。 IRET ;返回系统8型中断服务程序SERVICE ENDP;-READ1C PROC ;转移系统1CH型中断向量 MOV AX,351CH INT 21H MOV WORD PTR OLD1C,BX MOV WORD PTR OLD1C+2,ES RETREAD1C ENDP;- WRITE1C PROC ;写

5、入用户1CH型中断向量 PUSH DS MOV AX,CODE MOV DS, AX MOV DX,OFFSET SERVICE MOV AX,251CH INT 21H POP DS RET WRITE1C ENDP;- RESET PROC ;恢复系统1CH型中断向量 MOV DX,WORD PTR OLD1C ;注意:给DX和DS赋值不能颠倒 MOV DS,WORD PTR OLD1C+2 MOV AX,251CH INT 21H RET RESET ENDP CODE ENDS END START实 验 报 告四、实验小结(包括问题和解决方法、心得体会、意见与建议等) 1、程序分析:(

6、1)程序中READ1C子程序读出系统的1CH型中断向量,并转移到用户数据段的OLD1C双字单元,准备在恢复1CH型中断向量时使用。WRITE1C子程序把用户的服务程序中断向量写入中断向量表的4*1CH4*1CH+3单元中,完成1CH型中断向量的置换,这些操作均在关中断的条件下进行。(2)程序中使用INT 16H的号功能,查询键盘缓冲区,并且等待定时中断。(3)进入服务程序(即SERVICE子程序)之后,要重新定义用户数据段。因为服务程序中,要对用户数据段进行操作。 (4)RESET子程序恢复系统的1 CH型中断向量。使用INT 21H的25H子功能需要注意的是,在设置入口参数时,先设置DX的值,后设置DS的值,顺序不可颠倒。 五、指导教师评语 成 绩批阅人日 期1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号