显示计时器-汇编语言课程设计报告.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言课程设计 实验题目:常驻内存时钟 学 院:石油化工学院 指导老师:魏宝武 班 级:计算机科学与技术2班 姓 名:高帅 学 号: 21号 地 点:机房 时 间: 17、18周 沈阳工业大学 汇编程序设计报告 设计目的 运用汇编语言编制程序以实现各种功能 将所学汇编语言知识综合起来运用于实际 设计要求 能灵活运用汇编语言进行编程 学习运用调用中断指令实现各种操作 学习中断服务程序设计方法 了解com程序的基本格式 设计内容 本设计的程序结构大致如下: 1.伪指令 进行数据常量赋值(CURSOR字符显示所在列值 ATTRIB字符属性值) 2.代码段 由于本程序属com类型,所以只有一个段即代 码段。 3.数据变量定义、分配空间(OLDCUR 为原光标所在列值 OLD1C 原1C号中断向量的入口地址 ) 4.中断服务程序 取代原中断向量INT 1CH。此中断当每次系统时钟发出信号时发出中断,运行显示时间的常驻内存程序。 中断服务程序子程序: SHOWBYTE 显示时间子程序,入口参数为BX。调用SHOW、CURMOVE子程序。 SHOWCOLON 显示时间中的“:”子程序,无入口参数。 SHOW 在显示器的DOS界面里显示字符、数字,入口参数AL。 CURMOVE 移动光标子程序,无入口参数。 5.中断程序设置部分 将中断服务程序设置成第1CH号中断向量并常驻内存。 设计程序执行过程分析 经分析此程序为com类型的程序,原因是本程序大致上符合com程序格式。 Com 程序的汇编语言格式如下: NAME 模块名(可有可无) 段名 SEGMENT ASSUME 段寄存器地址说明 ORG 100H START:JMP BEGIN 数据空间预置 BEGIN:指令1 指令2 … 指令n 段名 ENDS END START Com程序的源程序形式不允许分段,程序中用到的数据定义、存储空间预置、堆栈区域以及程序代码均在仅有的一个段内。程序运行的起点必须是100H。程序结束使用END。按一般编程的习惯,将要定义的数据空间预置放到了程序前面并用JMP指令跳过。 在本程序中唯一不符合格式处为没有设置程序运行起点为100H。 程序执行过程中所用到的中断向量表如下: INTAH 功能调用参数返回参数102置光标位置BH=页号 DH,DL=行,列103读光标位置BH=页号 CH=光标起始位置 DH,DL=行,列109在光标位置显示字符及 其属性BH=显示页 AL=字符 BL=属性 CX=字符重复次数1A2读实时钟CH:CL=时:分(BCD数) DH,DL=秒:1/100秒(BCD数)1C定时器控制的软中断,每次系统时钟信号出现时发出中断21 25设置中断向量DS:DX=中断向量 AL=中断类型号2131结束并驻留AL=返回码 DX=驻留区大小2135取中断向量AL=中断类型ES:BX=中断向量 程序过程具体分析如下: 首先,程序开关进行了数据常量的定义,定义了数字显示所在列为69(45h)位于屏幕右侧,和数字显示时的属性值2fh.然后进行代码段的定义,com程序只有一个段,即代码段 从start开始jmp go 转移指令为com程序固定格式,跳过数 据空间预置和自定义的中断服务程序以及其调用的子程序.转到go. 标号go后面的程序为顺序结构,进行中断程序的设置中作.先将CS的内容压栈送入DX中,将AX的内容设置为351H.AH=35H为取中断向量,AL=1CH为中断向量类型,即也1CH号中断向量的CS:IP. 将BX--OLD1C,ES--OLD1C+2,即OLD1C中存储原1CH中断向量的CS:IP. 取标号NEWINT1C的偏移地址送入DX中,(程序开始处已设置DS:CODE)所以此时,DS:DX中为新的INT 1CH的中断向量入口地址.设置AX内容为251CH,AH=25H为设置中断向量,AL=1CH为中断向量类型,即设置INT 1CH的中断向量入口地址为DS:DX,调用INT 21H,将NEWINT1C的位置登记为1CH号中断向量的入口地址. 接下来要将新的中断向量,设置为常驻内存的程序.正常情况下,当程序结束后,其所占内存被DOS收回,中断服务程序即不可再用,若想让程序退出后中断服务程序所占内存仍然保留,以使为后续程序提供中断服务.则必须让中断服务程序驻留内存.

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档