- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2、中断向量设置 直接装入方法直接利用中断向量与存放地址关系存入内存 利用DOS中断装入方法入口:AH=25,AL=中断类型号,DS:DX=中断向量,出口:无 利用DOS中断读取中断向量入口:AH=35,AL=中断类型号;出口:ES:BX=中断向量 直接装入中断向量方法 XOR AX,AX MOV EX,AX ;指向0段 MOV DI,60H*4 ;类型号60H MOV AX,OFFSET INTRS ;取偏移地址 MOV ES:[DI],AX ;写入向量表 MOV AX,SEG INTRS ;取段地址 MOV ES:[DI+2],AX ;写入向量表 INTRS:… IRET 利用DOS中断装入中断向量方法 MOV BX,SEG INTRS ;取段地址 MOV DS,BX MOV DX,OFFSET INTRS ;取偏移地址 MOV AL,60H ; 60H为中断类型 MOV AH,25H INT 21H INTRS:… IRET 利用DOS中断获取中断向量方法 MOV AL,09H ;09H为中断类型号 MOV AH,35H ;或MOV AX,3509H INT 21H ;中断向量为ES:BX, 即中断向量的段地址在ES中,偏移地址在BX中 3、中断服务程序驻留内存方法 INT 21H的31H号功能调用 MOV AH,31H MOV DX,驻留区节数 INT 21H 注:一节为16个字节,所以该中断可申请较大内存空间。 INT 27H MOV DX,包括PSP(程序段前缀)在内的常驻程序所需字节长度 INT 27H 该中断的入口参数DX给出申请内存的字节数,因此最多只能申请64K字节空间,而且它不清除文件缓冲区,故程序中打开的文件不会因程序退出而自动关闭。 4、中断服务程序设计 中断服务程序的基本内容包括: 保护现场:将相关寄存器的内容压入堆栈中; 用户中断处理程序:若在此期间允许中断嵌套,则应该事先执行开中断指令,并在中断处理程序执行完毕后执行关中断指令,以免影响恢复现场操作; 恢复现场:发中断结束命令(EOI),清除当前中断请求; 中断返回: IRET。 注意:若是扩充原中断服务程序的功能,用段间无条件转移指令转移到原中断服务程序的入口。 课堂练习 1、按以下要求完成8259A与8088核心单元连接,并完成8259A的初始化: 接口地址为20H和21H; 中断为上升沿触发;单片8259A;不写ICW4; 与IR0-IR3对应的中断向量码为08H-0BH; IR4-IR7不使用。 2、7.9 (1)、(2)、(3)的第一步。 课堂练习1 课堂练习1 根据要求,各初始化参数及工作参数如下: ICW1 == 12H ICW2 = 08H 中断向量码 OCW1 == 0F0H 中断屏蔽字 课堂练习1 初始化程序如下: MOV DX,20H ;A0=0,写ICW1 MOV AL,12H ;上升沿触发,单片,不写ICW4 OUT DX,AL MOV DX,21H ;A0=1,写ICW2,OCW1 MOV AL,08H ;ICW2 OUT DX,AL MOV AL,0F0H ;OCW1:屏蔽IR4-IR7 OUT DX,AL 课堂练习2 见习题解答。 作业 无 * * * 在操作员打入一个外部命令时,或者运行一个程序时,MS-DOS将首先确定可用内存区的最低地址。并由此处开始填写程序运行时所需要的一系列参数,还设置一个磁盘读/写缓冲区。这个参数区和缓冲区合起来称为程序段前缀(PSP--Program Segment Prefix),PSP共占256(100H)字节。操作系统在程序段前缀首址加100H处装配要运行的程序,对于扩展名为EXE的程序,刚运行时,DS和ES这2个寄存器会指向程序段前缀PSP+0,对于扩展名为COM的程序,则在运行时4个段寄存器均指向PSP+0。(鼠标移到区域变为手型时会显示上面的文字说明) 4、中断结束方式 (1)中断自动结束方式(AUTOMATIC-AEOI方式) 在第二个INTA#后沿,即完成把对应的ISR位复位。 注意:AEOI方式是在中断响应后,而不是在中断处理程序结束后将ISR位清0。这样,在中断处理过程中,8259A中就没有“正在处理”的
文档评论(0)