计算机组成原理中断实验.docxVIP

  • 29
  • 0
  • 约2.41千字
  • 约 8页
  • 2017-05-18 发布于湖北
  • 举报
计算机组成原理中断实验

实验五中断实验实验地点:格致A315实验日期:2016年12月29日一、实验目的学习和掌握中断产生、响应、处理等技术;二、实验说明及内容说明:1.要求中断隐指令中执行关中断功能,如果用户中断服务程序允许被中断,必须在中断服务程序中执行EI开中断命令。2.教学机的中断系统共支持三级中断,由三个无锁按键确定从右到左依次为一、二、三级中断,对应的INT2、INT1、INT0的编码分别是01、10、11,优先级也依次升高。这决定了它们的中断向量(即中断响应后,转去执行的程序地址)为XXX4、XXX8、XXXC;可以看到,每级中断实际可用的空间只有四个字节,故这个空间一般只存放一条转移指令,而真正的用户中断服务程序则存放在转移指令所指向的地址。3.用户需扩展中断隐指令、开中断指令、关中断指令、中断返回指令及其节拍。内容:1.扩展中断隐指令。2.扩展开中断指令EI、关中断指令DI、中断返回指令IRET。3.确定中断向量表地址。中断向量表是以 XXX4H为首地址的一段内存区。高12位由用户通过置中断向量用的插针(在三个无锁按键下方)确定。三级中断对应的中断向量为XXX4H、XXX8H、XXXCH。当有中断请求且被响应后,将执行存放在该中断的中断向量所指向的内存区的指令。4.填写中断向量表。在上述的XXX4H、XXX8H、XXXCH地址写入三条JR OFFSET转移指令,OFFSET分别对应三段中断服务程序的相对地址。但在本仿真终端中输入时,用户不需要计算偏移量,直接输入要转向的绝对地址即可。5.编写中断服务程序。中断服务程序可以放在中断向量表之后,中断服务程序可实现在程序正常运行时在计算机屏幕上显示与优先级相对应的不同字符;6.编写主程序。可编写一死循环程序,等待中断;三、实验过程及步骤1.填写中断向量表。(1)选择3级中断的中断向量为2104H、2108H、210CH。(2)教学机中下方有一个12们波特开关,设置中断向量的高12位为:0010 0001 0000.开关向上为1,向下为0.(3)填写中断向量表:从2104H单元开始输入下面的程序:(2104)JR 2120 ;跳转到中断服务程序(2108) JR 2130(210C) JR 21402.编写中断服务程序该中断服务程序,先开中断,显示字符“BI”和对应的中断优先级“1”、“2”或“3”后,等待从键盘输入一个字符,在键盘输入一个字符后,显示该字符和字符“EI”,然后退出当前中断服务程序,返回中断断点,继续执行。用A、E命令从2120H单元开始输入下面的程序(标有*的语句要用E命令输入)2120:PUSH R02121: PUSH R32122: MVRD R3,312124: JR PUSH R02131: PUSH R32132: MVRD R3,322134: JR PUSH R02141: PUSH R32142: MVRD R3,332144: JR 2150*2150: EI2151: MVRD R0 CALA MVRD R0 CALA MVRR R0,R3215A: CALA 2200215C: IN 81215D: SHR R0215E: SHR R0215F: JRNC 215C2160: IN 802161: MVRD R0CALA MVRD R0 CALA MVRR R0,R3216A: CALA 2200216C: POP R3216D: POP R0*216E: IRET2200: PUSH R02201: IN 812202: SHR R02203: JRNC POP R02205: OUT 802206: RET3、编写主程序从地址2000H开始输入下列程序*2000: EI2001: MVRD R0 CALA MVRD R0 DEC R02008: JRNZ JR 2001200A: RET4、运行主程序,等待、响应中断。在命令行提示符状态下输入:G 2000屏幕将连续显示“6”.在程序执行过程中接下教学机右下方任意一个无锁按键。此时,教学机转向执行本级中断服务程序。在接收键盘一个字符后,退出当前级的中断服务程序,恢复中断现场,接着执行断点处的程序。若在此期间,又有更高一级的中断请求,则教学机转向执行该级的中断服务程序。需要注意的是,若当前中断为高级的中断,则不会响应低级中断。5、扩展提高内容:在保证上述案例所有功能条件下,补充

文档评论(0)

1亿VIP精品文档

相关文档