微机原理精编.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例7.5 由PC XT机外部产生中断请求的简单中断程序。 系统将8259A的中断输入线IR0~IR7初始化为由低变高 的边沿触发,通过一开关(单稳、防抖)将中断请求信号接到 PC XT总线的引脚B4,即IRQ2上。该开关先输出低电平,运 行程序显示提示信息“WAIT INTERRUPT”后再将开关输出高 电平,使IRQ2的电平由低变高,于是向8259A的中断输入线 发出了中断请求信号。成功后再将开关返回到低电平。 该程序可以用到任何可以产生中断请求信号的外设接 口的电路上。 如前所述,PC XT机已对8259A进行了初始化操作,故 只需进行操作命令字的设定,8259A的端口地址为20H和21H。 要使用的命令字有屏蔽字OCW1和中断结束命令字OCW2。 程序中用JMP $ 指令来等待中断,若程序中不改变屏 蔽字开放IRQ2中断,则扳动开关后,程序总处于等待状态, 不进入中断。 因为JMP $ 指令执行之后才响应中断,所以响应中断 时进入堆栈保护的断点地址仍是JMP $ 指令的地址。故中 断返回前应修改返回地址,以便返回后跳过该指令,执行 JMP $ 指令的下一条指令。 JMP $ 指令是近跳转的2字节指令 (指令的机器码为 EBFEH),故修改返址是将返回地址加2。 其程序如下: stack segment stack ?stack? dw 32 dup(0) stack ends data segment DA1 DB ?WAIT INTERRUPT?,0AH,0DH,?$? DA2 DB ?INTERRUPT PROCESSING?,0AH,0DH,?$? DA3 DB ?PROGRAM TERMINATED NORMALLY?,0AH,0DH,?$? data ends code segment begin proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax MOV AX,SEG IRQ2IS ;中断程序入口地址送中断 MOV DS,AX ;向量表 MOV DX,OFFSET IRQ2IS MOV AX,250AH INT 21H mov ax,data mov ds,ax MOV DX,OFFSET DA1 MOV AH,9 INT 21H IN AL,21H ;读屏蔽字 AND AL,0FBH ;改变屏蔽字,允许IRQ2中断 OUT 21H,AL JMP $ ;等中断JMP $=HERE: JMP HERE MOV DX,OFFSET DA3 MOV AH,9 INT 21H RET IRQ2IS:MOV DX,OFFSET DA2 MOV AH,9 INT 21H MOV AL,20H ;一般中断结束命令 OUT 20H,AL IN AL,21H ;恢复屏蔽字,禁止IRQ2中断 OR AL,04H OUT 21H,AL POP AX ;修改返址 INC AX INC AX PUSH AX IRET begin endp code ends end begin 例7.2 试对一个主从式8259A进行初始化命令字的设置。从片的 INT与主片的IR2相连。从片的中断类型码为70H~77H,端口地 址为A0H和A1H;主片的中断类型码为08H~0FH,端口地址为 20H和21H。中断请求信号采用边沿触发,采用全嵌套、缓冲、

文档评论(0)

phljianjian + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档