




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实 验 报 告(2014 / 2015 学年 第 一 学期)课程名称微型计算机接口技术实验名称基于中断的字符串屏幕动态显示实验时间2014年12月12日指导单位南京邮电大学指导教师李爱群学生姓名沈一州班级学号B12040920学院(系)计算机软件学院专 业NIIT(软嵌)实 验 报 告实验名称基于中断的字符串屏幕动态显示指导教师李爱群实验类型设计型实验学时2实验时间2014.12.12一、 实验目的和要求目的:掌握汇编程序的开发过程。要求:编程实现:利用系统定时源设计1CH中断程序,要求每隔一定时间在系统机屏幕上显示一行字符串Hello。二、实验环境(实验设备)硬件: CPU:3.0Ghz 内存:1.00GB软件:操作系统:Windows XP SP3编程软件:未来汇编三、实验原理及内容代码: .486DATA SEGMENT USE16OLD1C DD ?ICOUNT DB 18MESG DB HELLO,0DH,0AH,$DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX CLI CALL READ1C CALL WRITE1C STISCAN: MOV AH,1 INT 16H JZ SCAN CALL RESET MOV AH,4CH INT 21H;-SERVICE PROC PUSH DS MOV AX,DATA MOV DS,AX DEC ICOUNT JNZ EXIT MOV ICOUNT,18 MOV AH,9 MOV DX,OFFSET MESG INT 21HEXIT: POP DS IRETSERVICE ENDP;-READ1C PROC MOV AX,351CH INT 21H MOV WORD PTR OLD1C,BX MOV WORD PTR OLD1C+2,ES RETREAD1C ENDP;-WRITE1C PROC PUSH DS MOV AX,CODE MOV DS,AX MOV DX ,OFFSET SERVICE MOV AX,251CH INT 21H POP DS RETWRITE1C ENDP;-RESET PROC MOV DX,WORD PTR OLD1C MOV DS,WORD PTR OLD1C+2 MOV AX,251CH INT 21H RETRESET ENDPCODE ENDS END START 原理:.486是指用486型处理器。DATASEGMENT指的是数据段,USE16意思为用16位来存储数据段中的数据。同理,CODESEGMENT是代码段。程序里有4个子程序:SERVICE、READ1C、WRITE1C、RESET,有3个标号:START、SCAN、EXIT,有三个变量:OLD1C、ICOUNT、MESG。DB是字节型,占1个字节,DD是双字型,占4个字节。?代表一个空的单元。0DH就是回车(回到行首)。0AH就是换行。$这个就是表示字符串结束。ASSUME是定位段给寄存器。在START中,MOV AX,DATA/MOV DS,AX是把DATA的地址送入DS。CLI(clear interrupt)禁止中断发生,STL (set interrupt)允许中断发生。CALL指令执行时,进行两步操作:1、将程序当前执行的位置IP压入堆栈中;2、转移到调用的子程序。在READ1C中,PROC(procedure)、ENDP(end of procedure)本身是伪指令,分别代表子程序的开始和结束。WORD PTR(pointer) OLD1C是将OLD1C定义为字大小,分别把BX和ES的值送入OLD1C。RET是子程序的返回指令。在WRITE1C中,PUSH DS是将DS进栈,POP DS是将DS出栈。MOV AX,CODE/MOV DS,AX是把CODE的地址送入DS。MOV DX ,OFFSET SERVICE是将SERVICE的偏移量送入DX。在SERVICE中, DEC是自减。JNZ(jump when not has zero flag)是非零跳转。若为零则重置ICOUNT,并在屏幕上输出Hello。在SCAN中,INT 16H是键盘中断,可以通过它来对键盘进行操作。JZ(jump when has zero flag)是为零跳转。在EXIT中, IRET(interrupt return)中断返回,中断服务程序的最后一条指令。IRET指令将推入堆栈的段地址和偏移地址弹出,使程序返回到原来发生中断的地方。其作用是从中断中恢复中断前的状态。程序总体来说就是有两个循环,大循环反复执行直到用户按键,一次大循环执行18次小循环(每55MS执行一次小循环),一次大循环输出一次Hello,从而近似实现了1S输出一次Hello的功能。实 验 报 告四、实验小结本次实验,主要解决四个问题:(1)字符串HELLO的显示控制问题,通过代码MOV AH,9/MOV DX,OFFSET MESG/INT21H来实现;(2)定时时间间隔1秒钟如何实现,通过18次1CH中断,每次55ms,18次就是990ms,近似等于1s来实现;(3)显示过程如何结束,通过SCAN:MOV AL,1/INT 16H/JZ SCAN,即按任意键结束来实现;(4)定时程序结构,由主程序和1CH型中断程序组成。通过这次实验,我了解了什么是中断、中断源、中断系统及其功能、中断指令、中断向量、中断向量表及其作用,知道了CPU中断、软件中断及硬件中断(包括可屏蔽与非屏蔽
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年合肥长丰县文化馆秋学期二胡老师招聘考试备考题库及答案解析
- 2025云南省住房和城乡建设厅招聘事业单位人员2人备考考试题库附答案解析
- 2025浙江宁波象山县荔港学校招聘工作人员4人备考考试题库附答案解析
- 2026中国邮政储蓄银行北京分行校园招聘备考考试题库附答案解析
- 2026年度中国农业银行江苏省分行校园招聘备考考试题库附答案解析
- 校园文学活动策划方案模板
- 2025福建漳州卫生事业单位招聘71人备考考试题库附答案解析
- 2025福建泉州市永春县金源城市建设有限公司招聘测绘技术人员及财务人员7人备考考试题库附答案解析
- 智慧金融与金融科技-洞察及研究
- 基于大数据的印刷行业需求预测模型研究-洞察及研究
- 人事外包招聘代理合同
- 数字经济学-课件 第3章 数字技术
- AI引领时尚设计新潮-个性化需求的新一代解决方案
- 高二数学直线倾斜角与斜率同步练习题
- 2024-2030年全球及中国热障涂层(TBC)行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 大轻质泡沫混凝土研究报告
- 室内装修工程质量保障措施方案
- 闽教版小学3-6年级英语词表
- Unit2写作课课件(2024)七年级英语上册
- 专业人才培养方案论证报告(2篇)
- 安全保密管理方案(2篇)
评论
0/150
提交评论